18–20 Sept 2024
Europe/Vienna timezone

Journey of a C kernel engineer starting a Rust driver project

19 Sept 2024, 15:45
45m
"Room 1.85 - 1.86" (Austria Center)

"Room 1.85 - 1.86"

Austria Center

165
Kernel Summit Track Kernel Summit

Speaker

Danilo Krummrich

Description

In the context of starting the Nova driver project [1] it was decided to upstream Nova bit by bit and start with only a "stub" driver, in order to break the chicken-egg problem of Rust drivers requiring C API abstractions while upstreaming C API abstractions require at least one user.

As the one driving this project and this first effort, this talk is about sharing my experience from the following perspectives.

How did it go to start a new project in Rust in the kernel as a long time C kernel engineer without much prior knowledge of the Rust programming language, while also having the need to upstream major parts of the required abstractions for the project?

What were the difficulties and pitfalls in upstreaming the required abstractions and which are the typical challenges in having people with different backgrounds involved?

[1] Rust DRM driver for Nvidia GSP-based GPUs; separate talk in the main track ("Nova - a Rust DRM driver for NVIDIA GPUs")

Primary author

Presentation materials

There are no materials yet.