-
Notifications
You must be signed in to change notification settings - Fork 21
Nova docu update #45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Nova docu update #45
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for writing this up, very much appreciated!
src/Nova-GPU-Driver.md
Outdated
It can be expected that, as the driver continues to grow, various other abstractions | ||
will be needed. | ||
Another reason is that Rust's macros are helpful when creating firmware bindings | ||
for continuously changing firmware versions and their ABIs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hopefully that's a benefit we won't need to leverage too much if the firmware ABI gains some stability.
4f01ccf
to
dacbf45
Compare
src/nova-core-vm.png
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's two times vGPU0.
NIT: I think it would be nicer to not have this carve-out on nova-core on the host side, but have vGPU on top of nova-core.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean the vGPU manager.
|
||
## Status | ||
Rust's most desired feature are its guarantees for memory safety, notably the | ||
elimination of Use-after-Free errors. Those are errors GPU drivers suffer from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you forgot to update this section, can you please put what I came up with at the beginning of "### Why write it in Rust?"?
creating new PCI virtual functions), which can then be passed to a virtual | ||
machine, which then, for example, can run another Linux with another Nova-Core | ||
bound to the virtual GPU. Then, on top, Nova-DRM can be utilized as a | ||
conventional GPU driver to use the vGPU. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would also be good to point out that the split in nova-core and nova-drm allows us to run a much smaller (and hence a potentially less error prone) driver on the host side.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8000Why is that relevant? The amount of software running is the same, or, actually, even bigger with vGPU because you have nova-core N times.
I suppose you think it's good because it's a smaller broad side exposed for security stuff and the like, but am not sure.
The documentation for Nova should be updated. To prepare for that, add an architecture overview image. Signed-off-by: Philipp Stanner <phasta@kernel.org>
The current documentation for the RfL-User "Nova" is more than one year old and quite outdated. Update the Nova documentation. Signed-off-by: Philipp Stanner <phasta@kernel.org>
dacbf45
to
8f1c114
Compare
The Nova documentation is quite outdated. This PR performs an update.
Rendered view:
https://github.com/dasteihn/rust-for-linux.com/blob/nova-docu-update/src/Nova-GPU-Driver.md
@dakr please review.