[Intel-xe] [PATCH v2 0/2] Update Xe uAPI in a minimally invasive way

Souza, Jose jose.souza at intel.com
Thu May 25 19:43:57 UTC 2023


On Thu, 2023-05-25 at 12:12 -0700, Lucas De Marchi wrote:
> On Thu, May 25, 2023 at 08:48:37AM -0700, kode54 at gmail.com wrote:
> > 
> > 
> > On Thu, May 25 2023 at 08:13:43 AM -07:00:00, Lucas De Marchi 
> > <lucas.demarchi at intel.com> wrote:
> > > On Thu, May 25, 2023 at 01:24:55PM +0000, Jose Souza wrote:
> > > > Hi
> > > > 
> > > > Planning to push this today,
> > > > Christopher already have sent the Mesa MR and IGT patch series.
> > > 
> > > the whole point of this series is being able to fix it without 
> > > having to
> > > synchronize with the mesa / media / igt / intel-compute updates. There
> > > are some reordering in the structs that would better be done before
> > > applying upstream and when that is done, then we need to sync all the
> > > UMDs. But not for this.
> > 
> > Unfortunately, all userspace software which is also built for multilib 
> > must synchronize with this change, or else their 32-bit userspace will 
> > simply fail. In my experience, apps consuming Mesa 32-bit without this 
> > change will fail spectacularly, often crashing on startup.
> > 
> > I suppose only Mesa really matters, since most users won't be 
> > installing proprietary software that consumes 32-bit OpenCL or VA-API, 
> > but there may yet be cases for that. This is usually proprietary 
> > software, often involving use of Wine, such as Steam's Proton 
> > distribution.
> 
> yes, but 32bit was never properly supported before this patch. So if
> they don't synchronize, they will continue in the current state of
> not working at all.
> 
> And I'd still try to pack the structs properly before having the
> definite uapi in place, which only happens when this all is merged
> upstream, which is *THE* most important synchronization point.
> I also sync'ed with Jose to clarify on that.
> 
> I'm about to push it, but since it's your patch I'd rather let you
> confirm you are ok with it first.

Christopher, until Xe is not enabled by default for the first platform uAPI can break.

Was also about to push this to Xe and Mesa but lets wait for you ack then.

> 
> thanks
> Lucas De Marchi
> 
> > 
> > > 
> > > Lucas De Marchi
> > > 
> > > > It should not break 64 bits ABI but would be good to update 
> > > > intel-compute and media as well.
> > > > 
> > > > On Wed, 2023-05-24 at 18:56 -0700, Christopher Snowhill wrote:
> > > > > This series takes off from mlankhorst's attempt to do the same, 
> > > > > except
> > > > > instead, it tries to be as minimally invasive to the original 
> > > > > uAPI as
> > > > > possible, by only inserting padding where appropriate to ensure all
> > > > > 32-bit members are 32-bit aligned, and all 64-bit members are 64-bit
> > > > > aligned. This should have zero effect on 64-bit hosts versus 64-bit
> > > > > userspace, so existing native software will operate the same with or
> > > > > without the update. The only real change is 32-bit compat 
> > > > > support for
> > > > > multilib userspace, which was previously broken.
> > > > > 
> > > > > Also introduces field validation against all of the padding and
> > > > > reserved fields, which must be zero, in a separate commit.
> > > > > 
> > > > > v2:
> > > > >  Removed extensions checks where there were none originally. 
> > > > > (José)
> > > > >  Moved extraneous parentheses to the correct places. (Lucas)
> > > > > 
> > > > > Signed-off-by: Maarten Lankhorst 
> > > > > <maarten.lankhorst at linux.intel.com 
> > > > > <mailto:maarten.lankhorst at linux.intel.com>>
> > > > > Signed-off-by: Christopher Snowhill <kode54 at gmail.com 
> > > > > <mailto:kode54 at gmail.com>>
> > > > > 
> > > > > Christopher Snowhill (2):
> > > > >  drm/xe: Add explicit padding to uAPI definition
> > > > >  drm/xe: Validate uAPI padding and reserved fields
> > > > > 
> > > > > drivers/gpu/drm/xe/xe_bo.c              |  6 +++--
> > > > > drivers/gpu/drm/xe/xe_engine.c          | 18 ++++++++++---
> > > > > drivers/gpu/drm/xe/xe_exec.c            |  4 ++-
> > > > > drivers/gpu/drm/xe/xe_mmio.c            |  3 ++-
> > > > > drivers/gpu/drm/xe/xe_query.c           |  3 ++-
> > > > > drivers/gpu/drm/xe/xe_sync.c            |  4 ++-
> > > > > drivers/gpu/drm/xe/xe_vm.c              | 22 +++++++++++++---
> > > > > drivers/gpu/drm/xe/xe_vm_madvise.c      |  4 ++-
> > > > > drivers/gpu/drm/xe/xe_wait_user_fence.c |  3 ++-
> > > > > include/uapi/drm/xe_drm.h               | 34 
> > > > > ++++++++++++++++++++++++-
> > > > > 10 files changed, 85 insertions(+), 16 deletions(-)
> > > > > 
> > > > 
> > 



More information about the Intel-xe mailing list