qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 for-2.12] tap: set vhostfd passed from qemu c


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v2 for-2.12] tap: set vhostfd passed from qemu cli to non-blocking
Date: Thu, 17 May 2018 18:08:58 +0300

On Thu, May 17, 2018 at 09:54:40AM -0500, Brijesh Singh wrote:
> Hi Michael and Jason,
> 
> Looks like this patch was not included in any of your pull request hence it
> didn't made into 2.12. Can you please include this patch in your next pull
> request?
> 
> ~ Brijesh


I reviewed.
Jason?
Cc stable I guess ...

> On 04/07/2018 10:53 PM, Michael S. Tsirkin wrote:
> > On Fri, Apr 06, 2018 at 01:51:25PM -0500, Brijesh Singh wrote:
> > > A guest boot hangs while probing the network interface when
> > > iommu_platform=on is used.
> > > 
> > > The following qemu cli hangs without this patch:
> > > 
> > > # $QEMU \
> > >    -netdev tap,fd=3,id=hostnet0,vhost=on,vhostfd=4 3<>/dev/tap67 
> > > 4<>/dev/host-net \
> > >    -device 
> > > virtio-net-pci,netdev=hostnet0,id=net0,iommu_platform=on,disable-legacy=on
> > >  \
> > >    ...
> > > 
> > > Commit: c471ad0e9bd46 (vhost_net: device IOTLB support) took care of
> > > setting vhostfd to non-blocking when QEMU opens /dev/host-net but if
> > > the fd is passed from qemu cli then we need to ensure that fd is set
> > > to non-blocking.
> > > 
> > > Fixes: c471ad0e9bd46 "vhost_net: device IOTLB support"
> > > Cc: Michael S. Tsirkin <address@hidden>
> > > Cc: Jason Wang <address@hidden>
> > > Signed-off-by: Brijesh Singh <address@hidden>
> > 
> > Reviewed-by: Michael S. Tsirkin <address@hidden>
> > 
> > > ---
> > > 
> > > Changes since v1:
> > >   - use qemu_set_nonblock() instead of fcntl(..)
> > > 
> > >   net/tap.c | 2 ++
> > >   1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/net/tap.c b/net/tap.c
> > > index 2b3a36f9b50d..89c4e19162a2 100644
> > > --- a/net/tap.c
> > > +++ b/net/tap.c
> > > @@ -40,6 +40,7 @@
> > >   #include "qemu-common.h"
> > >   #include "qemu/cutils.h"
> > >   #include "qemu/error-report.h"
> > > +#include "qemu/sockets.h"
> > >   #include "net/tap.h"
> > > @@ -693,6 +694,7 @@ static void net_init_tap_one(const NetdevTapOptions 
> > > *tap, NetClientState *peer,
> > >                   }
> > >                   return;
> > >               }
> > > +            qemu_set_nonblock(vhostfd);
> > >           } else {
> > >               vhostfd = open("/dev/vhost-net", O_RDWR);
> > >               if (vhostfd < 0) {
> > > -- 
> > > 2.14.3



reply via email to

[Prev in Thread] Current Thread [Next in Thread]