From: Jordan Justen <jordan.l.justen@intel.com> To: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>, "Yang, Fei" <fei.yang@intel.com>, Andi Shyti <andi.shyti@linux.intel.com>, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: "Roper, Matthew D" <matthew.d.roper@intel.com>, Intel-gfx@lists.freedesktop.org, "Landwerlin, Lionel G" <lionel.g.landwerlin@intel.com>, "Ceraolo Spurio, Daniele" <daniele.ceraolospurio@intel.com>, DRI Development <dri-devel@lists.freedesktop.org>, Chris Wilson <chris.p.wilson@linux.intel.com>, "Das, Nirmoy" <nirmoy.das@intel.com> Subject: Re: [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation Date: Mon, 24 Apr 2023 10:13:00 -0700 [thread overview] Message-ID: <168235638024.392286.14697291321034695564@jljusten-skl> (raw) In-Reply-To: <5d0e2cf4-a487-1a1e-dae9-4fbe8c2fe649@linux.intel.com> On 2023-04-24 02:08:43, Tvrtko Ursulin wrote: > > Being able to "list" supported extensions sounds like a reasonable > principle, albeit a departure from the design direction to date. > Which means there are probably no quick solutions. Also, AFAIU, only > PXP context create is the problematic one, right? Everything else is > pretty much instant or delayed allocation so super cheap to probe by > attempting to use. > > If I got that right and given this series is about > drm_i915_gem_create_ext I don't think this side discussion should be > blocking it. This still leaves the issue of no reasonable detection mechanism for the extension. If the discussion gets too complicated, then can we add a GET_PARAM for the SET_PAT extension? I'm hoping we could either come up with something better reasonably quickly, or i915/Xe can add a new param for each new extensions until a better approach is available. > Furthermore the PXP context create story is even more complicated, > in a way that it is not just about querying whether the extension is > supported, but the expensive check is something more complicated. > > Going back to implementation details for this proposed new feature, > one alternative to query could be something like: > > drm_i915_gem_create_ext.flags |= I915_GEM_CREATE_EXT_FLAG_PROBE_EXTENSIONS; > > That would be somewhat more light weight to implement that the > i915_query route. And it appears it would work for all ioctls which > support extensions apart for i915_context_param_engines. This seems little better than the "try it, and if it works then it's supported". I'm not suggesting that userspace should be able to check that scenario x+y+z will work, but more a list of extensions that conceivably could work. Normally this should just a matter of the kernel unconditionally adding the newly implemented extension to the list returned in the query call. If a GET_PARAM can be made for the PXP case, then it seems like a query item returning CONTEXT_CREATE extensions could conditionally omit that extension just as easily as implementing the proposed new GET_PARAM. -Jordan
WARNING: multiple messages have this Message-ID (diff)
From: Jordan Justen <jordan.l.justen@intel.com> To: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>, "Yang, Fei" <fei.yang@intel.com>, Andi Shyti <andi.shyti@linux.intel.com>, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: "Roper, Matthew D" <matthew.d.roper@intel.com>, Intel-gfx@lists.freedesktop.org, DRI Development <dri-devel@lists.freedesktop.org>, Chris Wilson <chris.p.wilson@linux.intel.com>, "Das, Nirmoy" <nirmoy.das@intel.com> Subject: Re: [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation Date: Mon, 24 Apr 2023 10:13:00 -0700 [thread overview] Message-ID: <168235638024.392286.14697291321034695564@jljusten-skl> (raw) In-Reply-To: <5d0e2cf4-a487-1a1e-dae9-4fbe8c2fe649@linux.intel.com> On 2023-04-24 02:08:43, Tvrtko Ursulin wrote: > > Being able to "list" supported extensions sounds like a reasonable > principle, albeit a departure from the design direction to date. > Which means there are probably no quick solutions. Also, AFAIU, only > PXP context create is the problematic one, right? Everything else is > pretty much instant or delayed allocation so super cheap to probe by > attempting to use. > > If I got that right and given this series is about > drm_i915_gem_create_ext I don't think this side discussion should be > blocking it. This still leaves the issue of no reasonable detection mechanism for the extension. If the discussion gets too complicated, then can we add a GET_PARAM for the SET_PAT extension? I'm hoping we could either come up with something better reasonably quickly, or i915/Xe can add a new param for each new extensions until a better approach is available. > Furthermore the PXP context create story is even more complicated, > in a way that it is not just about querying whether the extension is > supported, but the expensive check is something more complicated. > > Going back to implementation details for this proposed new feature, > one alternative to query could be something like: > > drm_i915_gem_create_ext.flags |= I915_GEM_CREATE_EXT_FLAG_PROBE_EXTENSIONS; > > That would be somewhat more light weight to implement that the > i915_query route. And it appears it would work for all ioctls which > support extensions apart for i915_context_param_engines. This seems little better than the "try it, and if it works then it's supported". I'm not suggesting that userspace should be able to check that scenario x+y+z will work, but more a list of extensions that conceivably could work. Normally this should just a matter of the kernel unconditionally adding the newly implemented extension to the list returned in the query call. If a GET_PARAM can be made for the PXP case, then it seems like a query item returning CONTEXT_CREATE extensions could conditionally omit that extension just as easily as implementing the proposed new GET_PARAM. -Jordan
next prev parent reply other threads:[~2023-04-24 17:13 UTC|newest] Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-04-19 23:00 [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-19 23:00 ` [PATCH 1/8] drm/i915/mtl: Set has_llc=0 fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 10:20 ` Das, Nirmoy 2023-04-20 10:20 ` Das, Nirmoy 2023-04-19 23:00 ` [PATCH 2/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 20:29 ` Matt Roper 2023-04-19 23:00 ` [PATCH 3/8] drm/i915/mtl: Add PTE encode function fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 20:40 ` Matt Roper 2023-04-21 17:27 ` Yang, Fei 2023-04-21 17:42 ` Matt Roper 2023-04-23 7:37 ` Yang, Fei 2023-04-23 7:37 ` Yang, Fei 2023-04-24 17:20 ` Matt Roper 2023-04-24 18:41 ` Yang, Fei 2023-04-19 23:00 ` [PATCH 4/8] drm/i915/mtl: workaround coherency issue for Media fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 8:26 ` Andrzej Hajda 2023-04-20 11:36 ` Das, Nirmoy 2023-04-20 11:36 ` Das, Nirmoy 2023-04-20 20:52 ` Matt Roper 2023-04-19 23:00 ` [PATCH 5/8] drm/i915/mtl: end support for set caching ioctl fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 21:05 ` Matt Roper 2023-04-19 23:00 ` [PATCH 6/8] drm/i915: preparation for using PAT index fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 8:45 ` Andrzej Hajda 2023-04-20 21:14 ` Matt Roper 2023-04-19 23:00 ` [PATCH 7/8] drm/i915: use pat_index instead of cache_level fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 10:13 ` Andrzej Hajda 2023-04-20 12:39 ` Tvrtko Ursulin 2023-04-20 20:34 ` Yang, Fei 2023-04-21 8:43 ` Tvrtko Ursulin 2023-04-21 10:17 ` Tvrtko Ursulin 2023-04-23 6:12 ` Yang, Fei 2023-04-23 6:12 ` Yang, Fei 2023-04-24 8:41 ` Tvrtko Ursulin 2023-04-21 11:39 ` Tvrtko Ursulin 2023-04-23 6:52 ` Yang, Fei 2023-04-23 6:52 ` Yang, Fei 2023-04-24 9:22 ` Tvrtko Ursulin 2023-04-19 23:00 ` [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang 2023-04-19 23:00 ` [Intel-gfx] " fei.yang 2023-04-20 11:39 ` Andi Shyti 2023-04-20 11:39 ` [Intel-gfx] " Andi Shyti 2023-04-20 13:06 ` Tvrtko Ursulin 2023-04-20 16:11 ` Yang, Fei 2023-04-20 16:29 ` Andi Shyti 2023-04-20 16:29 ` Andi Shyti 2023-04-21 20:48 ` Jordan Justen 2023-04-21 20:48 ` Jordan Justen [not found] ` <BYAPR11MB2567F03AD43D7E2DE2628D5D9A669@BYAPR11MB2567.namprd11.prod.outlook.com> [not found] ` <168232538771.392286.3227368099155268955@jljusten-skl> 2023-04-24 9:08 ` Tvrtko Ursulin 2023-04-24 9:08 ` Tvrtko Ursulin 2023-04-24 17:13 ` Jordan Justen [this message] 2023-04-24 17:13 ` Jordan Justen 2023-04-25 13:41 ` IOCTL feature detection (Was: Re: [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation) Joonas Lahtinen 2023-04-25 13:41 ` [Intel-gfx] IOCTL feature detection (Was: " Joonas Lahtinen 2023-04-25 17:21 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Teres Alexis, Alan Previn 2023-04-25 17:21 ` [Intel-gfx] IOCTL feature detection (Was: " Teres Alexis, Alan Previn 2023-04-25 18:19 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Jordan Justen 2023-04-25 18:19 ` [Intel-gfx] IOCTL feature detection (Was: " Jordan Justen 2023-04-26 11:52 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Daniel Vetter 2023-04-26 11:52 ` [Intel-gfx] IOCTL feature detection (Was: " Daniel Vetter 2023-04-26 16:48 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Teres Alexis, Alan Previn 2023-04-26 16:48 ` [Intel-gfx] IOCTL feature detection (Was: " Teres Alexis, Alan Previn 2023-04-26 18:10 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Ceraolo Spurio, Daniele 2023-04-26 18:10 ` [Intel-gfx] IOCTL feature detection (Was: " Ceraolo Spurio, Daniele 2023-04-26 20:04 ` IOCTL feature detection (Was: Re: [Intel-gfx] " Jordan Justen 2023-04-26 20:04 ` [Intel-gfx] IOCTL feature detection (Was: " Jordan Justen 2023-04-19 23:29 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/mtl: Define MOCS and PAT tables for MTL (rev8) Patchwork 2023-04-19 23:51 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2023-04-20 11:30 ` [Intel-gfx] [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL Andi Shyti -- strict thread matches above, loose matches on Subject: below -- 2023-04-19 21:12 fei.yang 2023-04-19 21:12 ` [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang 2023-04-19 22:14 ` Andi Shyti 2023-04-19 18:09 [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang 2023-04-19 18:09 ` [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang 2023-04-17 6:24 [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang 2023-04-17 6:25 ` [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang 2023-04-19 12:23 ` Andi Shyti 2023-04-07 7:12 [PATCH 0/8] drm/i915/mtl: Define MOCS and PAT tables for MTL fei.yang 2023-04-07 7:12 ` [Intel-gfx] [PATCH 8/8] drm/i915: Allow user to set cache at BO creation fei.yang
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=168235638024.392286.14697291321034695564@jljusten-skl \ --to=jordan.l.justen@intel.com \ --cc=Intel-gfx@lists.freedesktop.org \ --cc=alan.previn.teres.alexis@intel.com \ --cc=andi.shyti@linux.intel.com \ --cc=chris.p.wilson@linux.intel.com \ --cc=daniele.ceraolospurio@intel.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=fei.yang@intel.com \ --cc=lionel.g.landwerlin@intel.com \ --cc=matthew.d.roper@intel.com \ --cc=nirmoy.das@intel.com \ --cc=tvrtko.ursulin@linux.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: linkBe 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.