Message ID | 20200508163218.22592-3-lulu@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vDPA support in qemu | expand |
On 2020/5/9 上午12:32, Cindy Lu wrote: > user the qemu_get_peer to replace the old process The title should be "vhost_net: use the function qemu_get_peer". Thanks > > Signed-off-by: Cindy Lu <lulu@redhat.com> > --- > hw/net/vhost_net.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > index 6b82803fa7..d1d421e3d9 100644 > --- a/hw/net/vhost_net.c > +++ b/hw/net/vhost_net.c > @@ -306,7 +306,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(dev))); > VirtioBusState *vbus = VIRTIO_BUS(qbus); > VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(vbus); > + struct vhost_net *net; > int r, e, i; > + NetClientState *peer; > > if (!k->set_guest_notifiers) { > error_report("binding does not support guest notifiers"); > @@ -314,9 +316,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > } > > for (i = 0; i < total_queues; i++) { > - struct vhost_net *net; > > - net = get_vhost_net(ncs[i].peer); > + peer = qemu_get_peer(ncs, i); > + net = get_vhost_net(peer); > vhost_net_set_vq_index(net, i * 2); > > /* Suppress the masking guest notifiers on vhost user > @@ -335,7 +337,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > } > > for (i = 0; i < total_queues; i++) { > - r = vhost_net_start_one(get_vhost_net(ncs[i].peer), dev); > + peer = qemu_get_peer(ncs, i); > + r = vhost_net_start_one(get_vhost_net(peer), dev); > > if (r < 0) { > goto err_start; > @@ -343,7 +346,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > if (ncs[i].peer->vring_enable) { > /* restore vring enable state */ > - r = vhost_set_vring_enable(ncs[i].peer, ncs[i].peer->vring_enable); > + r = vhost_set_vring_enable(peer, peer->vring_enable); > > if (r < 0) { > goto err_start; > @@ -355,7 +358,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > err_start: > while (--i >= 0) { > - vhost_net_stop_one(get_vhost_net(ncs[i].peer), dev); > + peer = qemu_get_peer(ncs , i); > + vhost_net_stop_one(get_vhost_net(peer), dev); > } > e = k->set_guest_notifiers(qbus->parent, total_queues * 2, false); > if (e < 0) {
On Sat, May 9, 2020 at 10:20 AM Jason Wang <jasowang@redhat.com> wrote: > > > On 2020/5/9 上午12:32, Cindy Lu wrote: > > user the qemu_get_peer to replace the old process > > > The title should be "vhost_net: use the function qemu_get_peer". > > Thanks > Sure, I will fix this > > > > > Signed-off-by: Cindy Lu <lulu@redhat.com> > > --- > > hw/net/vhost_net.c | 14 +++++++++----- > > 1 file changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > > index 6b82803fa7..d1d421e3d9 100644 > > --- a/hw/net/vhost_net.c > > +++ b/hw/net/vhost_net.c > > @@ -306,7 +306,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(dev))); > > VirtioBusState *vbus = VIRTIO_BUS(qbus); > > VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(vbus); > > + struct vhost_net *net; > > int r, e, i; > > + NetClientState *peer; > > > > if (!k->set_guest_notifiers) { > > error_report("binding does not support guest notifiers"); > > @@ -314,9 +316,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > } > > > > for (i = 0; i < total_queues; i++) { > > - struct vhost_net *net; > > > > - net = get_vhost_net(ncs[i].peer); > > + peer = qemu_get_peer(ncs, i); > > + net = get_vhost_net(peer); > > vhost_net_set_vq_index(net, i * 2); > > > > /* Suppress the masking guest notifiers on vhost user > > @@ -335,7 +337,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > } > > > > for (i = 0; i < total_queues; i++) { > > - r = vhost_net_start_one(get_vhost_net(ncs[i].peer), dev); > > + peer = qemu_get_peer(ncs, i); > > + r = vhost_net_start_one(get_vhost_net(peer), dev); > > > > if (r < 0) { > > goto err_start; > > @@ -343,7 +346,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > > > if (ncs[i].peer->vring_enable) { > > /* restore vring enable state */ > > - r = vhost_set_vring_enable(ncs[i].peer, ncs[i].peer->vring_enable); > > + r = vhost_set_vring_enable(peer, peer->vring_enable); > > > > if (r < 0) { > > goto err_start; > > @@ -355,7 +358,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, > > > > err_start: > > while (--i >= 0) { > > - vhost_net_stop_one(get_vhost_net(ncs[i].peer), dev); > > + peer = qemu_get_peer(ncs , i); > > + vhost_net_stop_one(get_vhost_net(peer), dev); > > } > > e = k->set_guest_notifiers(qbus->parent, total_queues * 2, false); > > if (e < 0) { >
diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c index 6b82803fa7..d1d421e3d9 100644 --- a/hw/net/vhost_net.c +++ b/hw/net/vhost_net.c @@ -306,7 +306,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(dev))); VirtioBusState *vbus = VIRTIO_BUS(qbus); VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(vbus); + struct vhost_net *net; int r, e, i; + NetClientState *peer; if (!k->set_guest_notifiers) { error_report("binding does not support guest notifiers"); @@ -314,9 +316,9 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, } for (i = 0; i < total_queues; i++) { - struct vhost_net *net; - net = get_vhost_net(ncs[i].peer); + peer = qemu_get_peer(ncs, i); + net = get_vhost_net(peer); vhost_net_set_vq_index(net, i * 2); /* Suppress the masking guest notifiers on vhost user @@ -335,7 +337,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, } for (i = 0; i < total_queues; i++) { - r = vhost_net_start_one(get_vhost_net(ncs[i].peer), dev); + peer = qemu_get_peer(ncs, i); + r = vhost_net_start_one(get_vhost_net(peer), dev); if (r < 0) { goto err_start; @@ -343,7 +346,7 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, if (ncs[i].peer->vring_enable) { /* restore vring enable state */ - r = vhost_set_vring_enable(ncs[i].peer, ncs[i].peer->vring_enable); + r = vhost_set_vring_enable(peer, peer->vring_enable); if (r < 0) { goto err_start; @@ -355,7 +358,8 @@ int vhost_net_start(VirtIODevice *dev, NetClientState *ncs, err_start: while (--i >= 0) { - vhost_net_stop_one(get_vhost_net(ncs[i].peer), dev); + peer = qemu_get_peer(ncs , i); + vhost_net_stop_one(get_vhost_net(peer), dev); } e = k->set_guest_notifiers(qbus->parent, total_queues * 2, false); if (e < 0) {
user the qemu_get_peer to replace the old process Signed-off-by: Cindy Lu <lulu@redhat.com> --- hw/net/vhost_net.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)