On Thu, Sep 10, 2020 at 10:55:00AM +0200, Maxime Coquelin wrote: > I understand the need and like the idea.
If no one plans to work on this within the next 6 months it could be an internship project since the Outreachy December-March round is coming up. The time requirement is typically ~5 hours per week from the mentor. Jason, Maxime, Cindy, Michael: Are you interested in mentoring this project idea? Internships focus mostly implementing existing designs since the intern doesn't have enough background knowledge or time to design some of this complexity from scratch. As a starting point, the vhost-user protocol can be extended with all the vDPA messages. Redundant vhost-user messages from the existing protocol can be dropped/deprecated (i.e. device-specific messages that were introduced to work around the lack of the VIRTIO device lifecycle). Fully embracing the vDPA/VIRTIO lifecycle eliminates the need for per-type QEMU devices (vhost-user-net, vhost-user-blk, etc). Instead per-transport devices are needed (-device vdpa-user-{pci,ccw,mmio}). This means new device types can be added later without writing all the boilerplate -device vhost-user-foo-{pci,ccw,mmio} code! The internship could focus on implementing -device vdpa-user-pci and a libvdpa-user test/example. The vhost-user spec changes should probably be agreed by the community beforehand so the intern doesn't need to worry about the protocol design (there's plenty of implementation work to do!). This is one way to break this down into an internship project, but there are other approaches. Maybe you prefer to extend vhost-user more gradually (e.g. no -device vdpa-user-pci and the existing per-type device approach is continued) while still adding the vDPA protocol messages... Anyway, if you'd like to mentor this project in Outreachy December-March please add a project idea to the QEMU wiki: https://wiki.qemu.org/Outreachy_2020_DecemberMarch Stefan
signature.asc
Description: PGP signature