Overview
Explore the evolution and future of QEMU Emulated NVMe in this 23-minute conference talk by Klaus Jensen from Samsung Electronics. Dive into the NVMe timeline, API developments, and historical context of NVMe emulation. Examine the intricacies of QDev Bus-based Plumbing and the progression of NVMe Plumbing across different versions. Understand the challenges faced with Shared Namespaces and the pitfalls of relying solely on the -device command. Analyze the proposed fixes and the rethinking of the NVMe model, including the hw/nvme "devpocalypse" and the device VS -object debate. Gain insights from lessons learned and get a glimpse of future work in QEMU Emulated NVMe development.
Syllabus
Intro
NVMe in 1 Slide
Emulated NVMe Timeline
Speaking of APIs...
A bit of history
QDev Bus-based Plumbing
NVMe Plumbing (pre-v6.0)
Shared Namespaces
Mistake: Just use -device
NVMe Plumbing (v6.0)
NVMe Plumbing (the "fix")
How do we fix this properly?
Rethinking the model
The hw/nvme "devpocalypse"
device VS -object
Lesson Learned
Future Work
Taught by
Linux Foundation