Transport-level Testing of NVMe Devices Using VFIO

Transport-level Testing of NVMe Devices Using VFIO

Linux Foundation via YouTube Direct link

NVMe in N Slides

3 of 28

3 of 28

NVMe in N Slides

Class Central Classrooms beta

YouTube videos curated by Class Central.

Classroom Contents

Transport-level Testing of NVMe Devices Using VFIO

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 Outline
  3. 3 NVMe in N Slides
  4. 4 Submission Queue Entry - 64 bytes
  5. 5 Command Queue
  6. 6 PCI Configuration Space
  7. 7 NVMe Controller Registers (MBAR)
  8. 8 Setting up the Admin Queues
  9. 9 Queue Doorbells
  10. 10 PCI Doorbells
  11. 11 Completion Queue Entries - 16 bytes
  12. 12 Polling for "phase" change
  13. 13 Interrupts
  14. 14 "Free'ing" Completion Queue Entries
  15. 15 Low-level NVMe
  16. 16 Putting the Theory into Practice
  17. 17 How Low Can You Go?
  18. 18 Virtual Function I/O Framework
  19. 19 I/O Memory Management Unit
  20. 20 VFIO is boiler-plate heavy
  21. 21 libvfio-NVMe specific functionality
  22. 22 Emulating this stuff
  23. 23 VFIO-based NVMe Controller Initialization
  24. 24 Identify Controller
  25. 25 Submitting command and kicking the queue
  26. 26 Wait for completion and ack
  27. 27 The Controller Memory Buffer
  28. 28 Rounding up

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.