<li><code>dma_fence
</code>, the core Linux DMA fence mechanism.
</li><li><code>syncobj
</code>, DRM’s sync object API.
</li><li><code>sched
</code>, which is the DRM component in charge of actually queuing GPU work and scheduling it.
</li><li><code>xarray
</code>, a generic kernel data structure that is basically an
<code>int
</code> →
<code>void *
</code> mapping, which I use to keep track of userspace UAPI objects like VMs and queues by their unique ID.
</li></ul><p>I’ve now
<a href=
https://lore.kernel.org/asahi/[email protected]/T/#t>sent out
</a> all the DRM abstractions for initial review, so we can get them upstream as soon as possible and, after that, upstream the driver itself!
</p><p>As part of this work, I even found two memory safety bugs in the DRM scheduler component that were causing kernel oopses for Alyssa and other developers, so the Rust driver work also benefits other kernel drivers that use this shared code! Meanwhile, I still haven’t gotten any reports of kernel oopses due to bugs in the Rust code at all~ ✨
</p><h2 id=
even-more-stuff>Even more stuff!
</h2><p>Explicit sync is the biggest change for this release, but there’s even more! Since we want to get the UAPI as close as possible to the final version, I’ve been working on adding lots more stuff:
</p><ul>
0 commit comments