All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Ekstrand <jason@jlekstrand.net>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>,
	Intel GFX <intel-gfx@lists.freedesktop.org>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 08/21] drm/i915/gem: Disallow bonding of virtual engines
Date: Thu, 29 Apr 2021 11:02:27 -0500	[thread overview]
Message-ID: <CAOFGe96NnkV-ChcxU9txxOy2dnVjhKrm5Q6E=BDkQCV7cUFB-g@mail.gmail.com> (raw)
In-Reply-To: <YIqjhXiIuKc1Hw8r@phenom.ffwll.local>

On Thu, Apr 29, 2021 at 7:16 AM Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Apr 28, 2021 at 01:58:17PM -0500, Jason Ekstrand wrote:
> > On Wed, Apr 28, 2021 at 12:18 PM Jason Ekstrand <jason@jlekstrand.net> wrote:
> > >
> > > On Wed, Apr 28, 2021 at 5:13 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> > > >
> > > > On Tue, Apr 27, 2021 at 08:51:08AM -0500, Jason Ekstrand wrote:
> > > > > I sent a v2 of this patch because it turns out I deleted a bit too
> > > > > much code.  This function in particular, has to stay, unfortunately.
> > > > > When a batch is submitted with a SUBMIT_FENCE, this is used to push
> > > > > the work onto a different engine than than the one it's supposed to
> > > > > run in parallel with.  This means we can't dead-code this function or
> > > > > the bond_execution function pointer and related stuff.
> > > >
> > > > Uh that's disappointing, since if I understand your point correctly, the
> > > > sibling engines should all be singletons, not load balancing virtual ones.
> > > > So there really should not be any need to pick the right one at execution
> > > > time.
> > >
> > > The media driver itself seems to work fine if I delete all the code.
> > > It's just an IGT testcase that blows up.  I'll do more digging to see
> > > if I can better isolate why.
> >
> > I did more digging and I figured out why this test hangs.  The test
> > looks at an engine class where there's more than one of that class
> > (currently only vcs) and creates a context where engine[0] is all of
> > the engines of that class bonded together and engine[1-N] is each of
> > those engines individually.  It then tests that you can submit a batch
> > to one of the individual engines and then submit with
> > EXEC_FENCE_SUBMIT to the balanced engine and the kernel will sort it
> > out.  This doesn't seem like a use-case we care about.
> >
> > If we cared about anything, I would expect it to be submitting to two
> > balanced contexts and expecting "pick any two" behavior.  But that's
> > not what the test is testing for.
>
> Yeah ditch it.
>
> Instead make sure that the bonded setparam/ctx validation makes sure that
> 1) no virtual engines are used
> 2) no engine used twice
> 3) anything else stupid you can come up with that we should make sure is
> blocked.

I've re-introduced the deletion and I'll add nuking that test to my
IGT series.  I did it as a separate patch as the FENCE_SUBMIT logic
and the bonding are somewhat separate concerns.

As far as validation goes, I don't think we need any more for this
case.  You used FENCE_SUBMIT and didn't properly isolate things such
that the two run on different engines.  Not our problem.

--Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Jason Ekstrand <jason@jlekstrand.net>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Intel GFX <intel-gfx@lists.freedesktop.org>,
	Maling list - DRI developers <dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 08/21] drm/i915/gem: Disallow bonding of virtual engines
Date: Thu, 29 Apr 2021 11:02:27 -0500	[thread overview]
Message-ID: <CAOFGe96NnkV-ChcxU9txxOy2dnVjhKrm5Q6E=BDkQCV7cUFB-g@mail.gmail.com> (raw)
In-Reply-To: <YIqjhXiIuKc1Hw8r@phenom.ffwll.local>

On Thu, Apr 29, 2021 at 7:16 AM Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Apr 28, 2021 at 01:58:17PM -0500, Jason Ekstrand wrote:
> > On Wed, Apr 28, 2021 at 12:18 PM Jason Ekstrand <jason@jlekstrand.net> wrote:
> > >
> > > On Wed, Apr 28, 2021 at 5:13 AM Daniel Vetter <daniel@ffwll.ch> wrote:
> > > >
> > > > On Tue, Apr 27, 2021 at 08:51:08AM -0500, Jason Ekstrand wrote:
> > > > > I sent a v2 of this patch because it turns out I deleted a bit too
> > > > > much code.  This function in particular, has to stay, unfortunately.
> > > > > When a batch is submitted with a SUBMIT_FENCE, this is used to push
> > > > > the work onto a different engine than than the one it's supposed to
> > > > > run in parallel with.  This means we can't dead-code this function or
> > > > > the bond_execution function pointer and related stuff.
> > > >
> > > > Uh that's disappointing, since if I understand your point correctly, the
> > > > sibling engines should all be singletons, not load balancing virtual ones.
> > > > So there really should not be any need to pick the right one at execution
> > > > time.
> > >
> > > The media driver itself seems to work fine if I delete all the code.
> > > It's just an IGT testcase that blows up.  I'll do more digging to see
> > > if I can better isolate why.
> >
> > I did more digging and I figured out why this test hangs.  The test
> > looks at an engine class where there's more than one of that class
> > (currently only vcs) and creates a context where engine[0] is all of
> > the engines of that class bonded together and engine[1-N] is each of
> > those engines individually.  It then tests that you can submit a batch
> > to one of the individual engines and then submit with
> > EXEC_FENCE_SUBMIT to the balanced engine and the kernel will sort it
> > out.  This doesn't seem like a use-case we care about.
> >
> > If we cared about anything, I would expect it to be submitting to two
> > balanced contexts and expecting "pick any two" behavior.  But that's
> > not what the test is testing for.
>
> Yeah ditch it.
>
> Instead make sure that the bonded setparam/ctx validation makes sure that
> 1) no virtual engines are used
> 2) no engine used twice
> 3) anything else stupid you can come up with that we should make sure is
> blocked.

I've re-introduced the deletion and I'll add nuking that test to my
IGT series.  I did it as a separate patch as the FENCE_SUBMIT logic
and the bonding are somewhat separate concerns.

As far as validation goes, I don't think we need any more for this
case.  You used FENCE_SUBMIT and didn't properly isolate things such
that the two run on different engines.  Not our problem.

--Jason
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2021-04-29 16:02 UTC|newest]

Thread overview: 226+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-23 22:31 [PATCH 00/21] drm/i915/gem: ioctl clean-ups Jason Ekstrand
2021-04-23 22:31 ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 01/21] drm/i915: Drop I915_CONTEXT_PARAM_RINGSIZE Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:32   ` Daniel Vetter
2021-04-27  9:32     ` [Intel-gfx] " Daniel Vetter
2021-04-28  3:33     ` Jason Ekstrand
2021-04-28  3:33       ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 02/21] drm/i915: Drop I915_CONTEXT_PARAM_NO_ZEROMAP Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:38   ` Daniel Vetter
2021-04-27  9:38     ` Daniel Vetter
2021-04-23 22:31 ` [PATCH 03/21] drm/i915/gem: Set the watchdog timeout directly in intel_context_set_gem Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:42   ` Daniel Vetter
2021-04-27  9:42     ` [Intel-gfx] " Daniel Vetter
2021-04-28 15:55   ` Tvrtko Ursulin
2021-04-28 15:55     ` Tvrtko Ursulin
2021-04-28 17:24     ` Jason Ekstrand
2021-04-28 17:24       ` Jason Ekstrand
2021-04-29  8:04       ` Tvrtko Ursulin
2021-04-29  8:04         ` Tvrtko Ursulin
2021-04-29 14:54         ` Jason Ekstrand
2021-04-29 14:54           ` Jason Ekstrand
2021-04-29 17:12           ` Daniel Vetter
2021-04-29 17:12             ` Daniel Vetter
2021-04-29 17:13             ` Daniel Vetter
2021-04-29 17:13               ` Daniel Vetter
2021-04-29 18:41               ` Jason Ekstrand
2021-04-29 18:41                 ` Jason Ekstrand
2021-04-30 11:18           ` Tvrtko Ursulin
2021-04-30 11:18             ` Tvrtko Ursulin
2021-04-30 15:35             ` Jason Ekstrand
2021-04-30 15:35               ` Jason Ekstrand
2021-04-23 22:31 ` [PATCH 04/21] drm/i915/gem: Return void from context_apply_all Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:42   ` Daniel Vetter
2021-04-27  9:42     ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:31 ` [PATCH 05/21] drm/i915: Drop the CONTEXT_CLONE API Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:49   ` Daniel Vetter
2021-04-27  9:49     ` Daniel Vetter
2021-04-28 17:38     ` Jason Ekstrand
2021-04-28 17:38       ` Jason Ekstrand
2021-04-28 15:59   ` Tvrtko Ursulin
2021-04-28 15:59     ` Tvrtko Ursulin
2021-04-23 22:31 ` [PATCH 06/21] drm/i915: Implement SINGLE_TIMELINE with a syncobj (v3) Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:55   ` Daniel Vetter
2021-04-27  9:55     ` Daniel Vetter
2021-04-28 15:49   ` Tvrtko Ursulin
2021-04-28 15:49     ` Tvrtko Ursulin
2021-04-28 17:26     ` Jason Ekstrand
2021-04-28 17:26       ` Jason Ekstrand
2021-04-29  8:06       ` Tvrtko Ursulin
2021-04-29  8:06         ` Tvrtko Ursulin
2021-04-29 12:08         ` Daniel Vetter
2021-04-29 12:08           ` Daniel Vetter
2021-04-29 14:47           ` Jason Ekstrand
2021-04-29 14:47             ` Jason Ekstrand
2021-04-23 22:31 ` [PATCH 07/21] drm/i915: Drop getparam support for I915_CONTEXT_PARAM_ENGINES Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-27  9:58   ` Daniel Vetter
2021-04-27  9:58     ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:31 ` [PATCH 08/21] drm/i915/gem: Disallow bonding of virtual engines Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-26 23:43   ` [PATCH 08/20] drm/i915/gem: Disallow bonding of virtual engines (v2) Jason Ekstrand
2021-04-26 23:43     ` [Intel-gfx] " Jason Ekstrand
2021-04-27 13:58     ` Daniel Vetter
2021-04-27 13:58       ` Daniel Vetter
2021-04-27 13:51   ` [PATCH 08/21] drm/i915/gem: Disallow bonding of virtual engines Jason Ekstrand
2021-04-27 13:51     ` [Intel-gfx] " Jason Ekstrand
2021-04-28 10:13     ` Daniel Vetter
2021-04-28 10:13       ` [Intel-gfx] " Daniel Vetter
2021-04-28 17:18       ` Jason Ekstrand
2021-04-28 17:18         ` [Intel-gfx] " Jason Ekstrand
2021-04-28 17:18         ` Matthew Brost
2021-04-28 17:18           ` Matthew Brost
2021-04-28 17:46           ` Jason Ekstrand
2021-04-28 17:46             ` Jason Ekstrand
2021-04-28 17:55             ` Matthew Brost
2021-04-28 17:55               ` Matthew Brost
2021-04-28 18:17               ` Jason Ekstrand
2021-04-28 18:17                 ` Jason Ekstrand
2021-04-29 12:14                 ` Daniel Vetter
2021-04-29 12:14                   ` Daniel Vetter
2021-04-30  4:03                   ` Matthew Brost
2021-04-30  4:03                     ` Matthew Brost
2021-04-30 10:11                     ` Daniel Vetter
2021-04-30 10:11                       ` Daniel Vetter
2021-05-01 17:17                       ` Matthew Brost
2021-05-01 17:17                         ` Matthew Brost
2021-05-04  7:36                         ` Daniel Vetter
2021-05-04  7:36                           ` Daniel Vetter
2021-04-28 18:58         ` Jason Ekstrand
2021-04-28 18:58           ` [Intel-gfx] " Jason Ekstrand
2021-04-29 12:16           ` Daniel Vetter
2021-04-29 12:16             ` [Intel-gfx] " Daniel Vetter
2021-04-29 16:02             ` Jason Ekstrand [this message]
2021-04-29 16:02               ` Jason Ekstrand
2021-04-29 17:14               ` Daniel Vetter
2021-04-29 17:14                 ` [Intel-gfx] " Daniel Vetter
2021-04-28 15:51   ` Tvrtko Ursulin
2021-04-28 15:51     ` Tvrtko Ursulin
2021-04-29 12:24     ` Daniel Vetter
2021-04-29 12:24       ` Daniel Vetter
2021-04-29 12:54       ` Tvrtko Ursulin
2021-04-29 12:54         ` Tvrtko Ursulin
2021-04-29 15:41         ` Jason Ekstrand
2021-04-29 15:41           ` Jason Ekstrand
2021-04-23 22:31 ` [PATCH 09/21] drm/i915/gem: Disallow creating contexts with too many engines Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-28 10:16   ` Daniel Vetter
2021-04-28 10:16     ` Daniel Vetter
2021-04-28 10:42     ` Tvrtko Ursulin
2021-04-28 10:42       ` Tvrtko Ursulin
2021-04-28 14:02       ` Daniel Vetter
2021-04-28 14:02         ` Daniel Vetter
2021-04-28 14:26         ` Tvrtko Ursulin
2021-04-28 14:26           ` Tvrtko Ursulin
2021-04-28 17:09           ` Jason Ekstrand
2021-04-28 17:09             ` Jason Ekstrand
2021-04-29  8:01             ` Tvrtko Ursulin
2021-04-29  8:01               ` Tvrtko Ursulin
2021-04-29 19:16               ` Jason Ekstrand
2021-04-29 19:16                 ` Jason Ekstrand
2021-04-30 11:40                 ` Tvrtko Ursulin
2021-04-30 11:40                   ` Tvrtko Ursulin
2021-04-30 15:54                   ` Jason Ekstrand
2021-04-30 15:54                     ` Jason Ekstrand
2021-04-23 22:31 ` [PATCH 10/21] drm/i915/request: Remove the hook from await_execution Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-26 23:44   ` Jason Ekstrand
2021-04-26 23:44     ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 11/21] drm/i915: Stop manually RCU banging in reset_stats_ioctl Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-28 10:27   ` Daniel Vetter
2021-04-28 10:27     ` [Intel-gfx] " Daniel Vetter
2021-04-28 18:22     ` Jason Ekstrand
2021-04-28 18:22       ` [Intel-gfx] " Jason Ekstrand
2021-04-29 12:22       ` Daniel Vetter
2021-04-29 12:22         ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:31 ` [PATCH 12/21] drm/i915/gem: Add a separate validate_priority helper Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-28 14:37   ` Daniel Vetter
2021-04-28 14:37     ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:31 ` [PATCH 13/21] drm/i915/gem: Add an intermediate proto_context struct Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 13:02   ` Daniel Vetter
2021-04-29 13:02     ` Daniel Vetter
2021-04-29 16:44     ` Jason Ekstrand
2021-04-29 16:44       ` Jason Ekstrand
2021-04-23 22:31 ` [PATCH 14/21] drm/i915/gem: Return an error ptr from context_lookup Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 13:27   ` Daniel Vetter
2021-04-29 13:27     ` Daniel Vetter
2021-04-29 15:29     ` Jason Ekstrand
2021-04-29 15:29       ` Jason Ekstrand
2021-04-29 17:16       ` Daniel Vetter
2021-04-29 17:16         ` Daniel Vetter
2021-04-23 22:31 ` [PATCH 15/21] drm/i915/gt: Drop i915_address_space::file Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 12:37   ` Daniel Vetter
2021-04-29 12:37     ` [Intel-gfx] " Daniel Vetter
2021-04-29 15:26     ` Jason Ekstrand
2021-04-29 15:26       ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 16/21] drm/i915/gem: Delay context creation Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-24  3:21   ` kernel test robot
2021-04-24  3:21     ` kernel test robot
2021-04-24  3:21     ` kernel test robot
2021-04-24  3:24   ` kernel test robot
2021-04-24  3:24     ` kernel test robot
2021-04-24  3:24     ` kernel test robot
2021-04-29 15:51   ` Daniel Vetter
2021-04-29 15:51     ` Daniel Vetter
2021-04-29 18:16     ` Jason Ekstrand
2021-04-29 18:16       ` Jason Ekstrand
2021-04-29 18:56       ` Daniel Vetter
2021-04-29 18:56         ` Daniel Vetter
2021-04-29 19:01         ` Jason Ekstrand
2021-04-29 19:01           ` Jason Ekstrand
2021-04-29 19:07           ` Daniel Vetter
2021-04-29 19:07             ` Daniel Vetter
2021-04-29 21:35             ` Jason Ekstrand
2021-04-29 21:35               ` Jason Ekstrand
2021-04-30  6:53               ` Daniel Vetter
2021-04-30  6:53                 ` Daniel Vetter
2021-04-30 11:58                 ` Tvrtko Ursulin
2021-04-30 11:58                   ` Tvrtko Ursulin
2021-04-30 12:30                   ` Daniel Vetter
2021-04-30 12:30                     ` Daniel Vetter
2021-04-30 12:44                     ` Tvrtko Ursulin
2021-04-30 12:44                       ` Tvrtko Ursulin
2021-04-30 13:07                       ` Daniel Vetter
2021-04-30 13:07                         ` Daniel Vetter
2021-04-30 13:15                         ` Tvrtko Ursulin
2021-04-30 13:15                           ` Tvrtko Ursulin
2021-04-30 16:27                 ` Jason Ekstrand
2021-04-30 16:27                   ` Jason Ekstrand
2021-04-30 16:33                   ` Daniel Vetter
2021-04-30 16:33                     ` Daniel Vetter
2021-04-30 16:57                     ` Jason Ekstrand
2021-04-30 16:57                       ` Jason Ekstrand
2021-04-30 17:08                       ` Daniel Vetter
2021-04-30 17:08                         ` Daniel Vetter
2021-04-23 22:31 ` [PATCH 17/21] drm/i915/gem: Don't allow changing the VM on running contexts Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 18/21] drm/i915/gem: Don't allow changing the engine set " Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 17:21   ` Daniel Vetter
2021-04-29 17:21     ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:31 ` [PATCH 19/21] drm/i915/selftests: Take a VM in kernel_context() Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-23 22:31 ` [PATCH 20/21] i915/gem/selftests: Assign the VM at context creation in igt_shared_ctx_exec Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 17:19   ` Daniel Vetter
2021-04-29 17:19     ` Daniel Vetter
2021-04-23 22:31 ` [PATCH 21/21] drm/i915/gem: Roll all of context creation together Jason Ekstrand
2021-04-23 22:31   ` [Intel-gfx] " Jason Ekstrand
2021-04-29 17:25   ` Daniel Vetter
2021-04-29 17:25     ` [Intel-gfx] " Daniel Vetter
2021-04-23 22:49 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gem: ioctl clean-ups Patchwork
2021-04-23 22:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-04-23 23:16 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-04-24  2:14 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOFGe96NnkV-ChcxU9txxOy2dnVjhKrm5Q6E=BDkQCV7cUFB-g@mail.gmail.com' \
    --to=jason@jlekstrand.net \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=matthew.brost@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.