DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [RFC v2 0/3] host: multiqueue improvements
@ 2018-02-27 14:34 Maxime Coquelin
  2018-02-27 14:34 ` [dpdk-dev] [RFC v2 1/3] vhost: invalidate vring addresses in cleanup_vq() Maxime Coquelin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Maxime Coquelin @ 2018-02-27 14:34 UTC (permalink / raw)
  To: jianfeng.tan, stefanha, tiwei.bie, jfreimann, dev; +Cc: Maxime Coquelin

This second revision takes Jens comments into account, main
change is fixing an off-by-one error in patch 2.

The series introduce support for a new protocol request that
notifies the backend with Virtio device status updates.

Main goal is to be able with Virtio 1.0 devices to start
the port even if the guest hasn't initialized all the
queue pairs of the device. This case happens for example
with Windows driver if more queue pairs are declared than
there are vCPUs.

The patch also handles reset and failed driver status to
stop the device and destroy the virtqueues.

Last patch implements a workaround for old and current
QEMUs, that sends SET_VRING_ADDR requests for uninitalized
queues, which can leads to guest memory corruption if
the host application requests to diasble queues
notifications.

I posted the series as RFC, as the QEMU & specification
parts for the new request haven't been accepted yet.


Changes since RFC v1:
=====================
- move virtio_status declaration in the right patch
- Fix off-by-one error when removing uninitialized queues

Maxime Coquelin (3):
  vhost: invalidate vring addresses in cleanup_vq()
  vhost: add SET_VIRTIO_STATUS support
  vhost_user: work around invalid rings addresses sent by QEMU

 lib/librte_vhost/vhost.c      |   6 ++-
 lib/librte_vhost/vhost.h      |   4 +-
 lib/librte_vhost/vhost_user.c | 113 +++++++++++++++++++++++++++++++++++++++++-
 lib/librte_vhost/vhost_user.h |   5 +-
 4 files changed, 123 insertions(+), 5 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-28  6:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-27 14:34 [dpdk-dev] [RFC v2 0/3] host: multiqueue improvements Maxime Coquelin
2018-02-27 14:34 ` [dpdk-dev] [RFC v2 1/3] vhost: invalidate vring addresses in cleanup_vq() Maxime Coquelin
2018-02-28  6:35   ` Yang, Zhiyong
2018-02-27 14:34 ` [dpdk-dev] [RFC v2 2/3] vhost: add SET_VIRTIO_STATUS support Maxime Coquelin
2018-02-27 14:34 ` [dpdk-dev] [RFC v2 3/3] vhost_user: work around invalid rings addresses sent by QEMU Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).