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

kode54 at gmail.com kode54 at gmail.com
Thu May 25 15:48:37 UTC 2023



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.

> 
> 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(-)
>>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-xe/attachments/20230525/b32b26c1/attachment.htm>


More information about the Intel-xe mailing list