VRT-120 · Virtualization & Containers · Advanced

virtio Device Drivers — full syllabus

The paravirtualised device model: virtqueues, transports and writing a virtio driver.

Duration3 full days in person · 6 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 9,000 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Kernel and virtualisation engineers who want to understand the paravirtualised device model deeply enough to tune it, debug it, and implement it — for a custom virtio device or an offload path like vhost-user.

Prerequisites

Course outline

Day 1 — The virtio model and virtqueues

  • The virtio specification: device status lifecycle and feature negotiation
  • Transports: virtio-pci and virtio-mmio
  • Virtqueue anatomy: descriptor table, available and used rings
  • Notifications, event suppression (EVENT_IDX) and interrupt moderation
  • Where the guest/host boundary actually runs

Day 2 — The kernel's virtio stack in practice

  • virtio-net and virtio-blk read in source
  • virtio-scsi: when it beats virtio-blk and why
  • Performance levers: multiqueue, NAPI, descriptor batching, indirect descriptors
  • Measuring virtio overhead against passthrough on the same workload
  • Common failure modes: stuck queues, feature mismatch, ballooning interactions

Day 3 — vhost, offload paths and writing a driver

  • vhost: moving the data path into the host kernel
  • vhost-user: the data path in a userspace process, and vDPA beyond it
  • Defining a custom virtio device and its config space
  • Writing the guest driver: probe, virtqueue setup, request/completion flow
  • Testing against a QEMU device model you can instrument

Hands-on labs

  1. Lab: instrument virtqueue activity with virtio tracepoints and watch descriptor flow and notifications under load
  2. Lab: benchmark virtio-blk vs virtio-scsi vs a passed-through device on the same fio workload and explain the gap
  3. Lab: switch a guest NIC between virtio and vhost paths and measure throughput and latency differences
  4. Lab: write a guest driver for a custom QEMU virtio device and exchange real data through your own virtqueue

Capstone project

Implement a small but real virtio device pair: a QEMU-side device model (provided as a scaffold) and the Linux guest driver that binds to it, negotiates features and moves data over a virtqueue you configured. The deliverable is the driver source, a trace of feature negotiation and descriptor flow, and a short performance note comparing your device's overhead with the virtio-net measurements from the labs.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
1 Nov – 3 Nov 20263 full days RiyadhIn person · KAFD Conference Centre 9 of 14 —SAR 9,000
1 Nov – 3 Nov 20263 full days Kuwait CityIn person · Al Hamra Tower 4 of 14 —KWD 740
8 Nov – 10 Nov 20263 full days MuscatIn person · Knowledge Oasis Muscat 9 of 14 OMR 830until 9 OctOMR 920
15 Nov – 22 Nov 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 13 of 20 US$1,580until 16 OctUS$1,750
16 Nov – 18 Nov 20263 full days OttawaIn person · Kanata North Tech Park 4 of 14 CAD 2,930until 17 OctCAD 3,260
16 Nov – 18 Nov 20263 full days TorontoIn person · MaRS Discovery District 9 of 14 CAD 2,930until 17 OctCAD 3,260
16 Nov – 23 Nov 20266 half-days Europe bandLive online · 09:00–13:00 CET 18 of 20 US$1,580until 17 OctUS$1,750
23 Nov – 25 Nov 20263 full days LondonIn person · Shoreditch Works 4 of 14 GBP 1,680until 24 OctGBP 1,870
23 Nov – 30 Nov 20266 half-days Americas bandLive online · 13:00–17:00 ET 7 of 20 US$1,580until 24 OctUS$1,750
30 Nov – 2 Dec 20263 full days BerlinIn person · Factory Görlitzer Park 9 of 14 EUR 1,990until 31 OctEUR 2,210

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.