Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Linux Foundation

NVMe Emulation Performance Optimization Techniques in QEMU

Linux Foundation via YouTube

Overview

Explore NVMe emulation performance optimization techniques in this 21-minute conference talk. Learn about QEMU's NVMe emulation challenges and solutions, including shadow doorbell buffer support, ioeventfd mechanism, iothread utilization, and doorbell memory polling. Discover how these optimizations led to an 11x performance improvement, increasing from 30 KIOPS to 330 KIOPS. Gain insights into the implementation process, challenges faced, and lessons learned. Understand the impact of NVMe spec violations and their fixes. Ideal for developers interested in applying these techniques to their subsystems and improving emulation performance.

Syllabus

Intro
QEMU NVMe - Current Status
NVMe Primer
Shadow Doorbell Buffer
Performance After Shadow DB
Thread-safe IRQ Delivery
Performance After irqfd
Polling
Lessons Learned
A Wild NVMe Spec Violation Appeared
The "fix" (Keith Busch)
Patches

Taught by

Linux Foundation

Reviews

Start your review of NVMe Emulation Performance Optimization Techniques in QEMU

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.