9-11 October 2024
Concordia University Conference Centre
Canada/Eastern timezone

io_uring for DRM

10 Oct 2024, 14:05
20m
Concordia University Conference Centre

Concordia University Conference Centre

1450 Guy St., Montreal, Quebec, Canada H3H 0A1
Talk (half slot) [FULL] Main Track (Room 9AB)

Speaker

Liviu Dudau (Arm Ltd)

Description

Modern GPUs are moving more functionality into firmware in order to allow for user space to submit jobs directly and gain additional performance from that.

DRM framework for rendering nodes assumes that the kernel driver is in charge all the time and job submissions are only happening in kernel context.

io_uring is a mechanism inside the kernel that allows for asynchronously queuing requests from userspace and let them be handled by the kernel driver(s) in a batched mode. Adopting this (or a very similar) mechanism in DRM would allow us to gain the benefits of reduced context switching between userspace apps and kernel while keeping the kernel driver(s) for GPU(s) in charge of actual job submissions.

I am looking at gathering feedback on the idea and on why it might not be appropriate to add support for io_uring in DRM. We know that io_uring had its fair share of security issues and that Android for example disables it completely, but there are other aspects that need to be discussed like user space implementing a job scheduling on its own, or lack of a need for job scheduling at all as firmware might be completely in charge of that.

GSoC, EVoC or Outreachy No
Code of Conduct Yes
In-person or virtual presentation In-person

Primary author

Liviu Dudau (Arm Ltd)

Presentation Materials

2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer