Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Development steps

  1. Introduce HV_EXPERIMENTAL (exactly what HV_HVM, but with NVMe-OF for disk) - Roman
  2. Start with nullblk as a backend (potentially loopback) - Vitaliy
  3. Resurrect vhost PRs in pillar, etc. - Vitaliy
  4. Add checksums to fio test container - Vitaliy
  5. Implement vhost/nvme.c  in Linux kernel - Sergey
  6. Implement vhost_nvme.c driver in qemu - Vitaliy
  7. Build a test rig for actual NVMe drives - DimaXXX 

Discussion

The nice property of this design is that we can start with independent bits and pieces and keen an eye on performance. For example, without writing any additional code we can send NVMe traffic via TCP from our guests to the host helping us test assumptions about scalability. This is expected to be much slower than virtio/vhost implementation, but is available in a stock kernel today.

...