qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/2] virtio: revert virtio_queue_set_notificatio


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH 0/2] virtio: revert virtio_queue_set_notification() nesting
Date: Tue, 17 Jan 2017 05:09:06 +0200

On Mon, Jan 16, 2017 at 04:03:28PM -0500, Doug Goldstein wrote:
> On 1/16/17 5:46 AM, Stefan Hajnoczi wrote:
> > On Fri, Jan 13, 2017 at 09:15:49AM -0600, Doug Goldstein wrote:
> >> On 1/13/17 6:02 AM, Stefan Hajnoczi wrote:
> >>> On Thu, Jan 12, 2017 at 10:57:53AM -0600, Doug Goldstein wrote:
> >>>> On 1/12/17 5:46 AM, Stefan Hajnoczi wrote:
> >>>>> The virtio_queue_set_notification() nesting introduced for AioContext 
> >>>>> polling
> >>>>> raised an assertion with virtio-net (even in non-polling mode).  
> >>>>> Converting
> >>>>> virtio-net and virtio-crypto to use virtio_queue_set_notification() in a
> >>>>> nesting fashion would be invasive and isn't worth it.
> >>>>>
> >>>>> Patch 1 contains the revert to resolve the bug that Doug noticed.
> >>>>>
> >>>>> Patch 2 is a less efficient but safe alternative.
> >>>>>
> >>>>> Stefan Hajnoczi (2):
> >>>>>   Revert "virtio: turn vq->notification into a nested counter"
> >>>>>   virtio: disable notifications again after poll succeeded
> >>>>>
> >>>>>  hw/virtio/virtio.c | 21 +++++++++------------
> >>>>>  1 file changed, 9 insertions(+), 12 deletions(-)
> >>>>>
> >>>>
> >>>> So I just gave this series a whirl and it fixes the assert but causes
> >>>> another issue for me. While iPXE is getting a DHCP address the screen
> >>>> immediately flashes over to the UEFI shell. Its like a timeout is
> >>>> getting hit and just dropping me to the shell.
> >>>
> >>> Sounds like an separate problem.
> >>>
> >>> Stefan
> >>>
> >>
> >> Is there any debug output that I can provide to help troubleshoot it?
> >> I've built 23425cc and UEFI via OVMF is able to get an IP address via
> >> DHCP inside of iPXE. I've also taken master and only applied the first
> >> patch in this series (the revert) and it too works. Its only when I add
> >> the 2nd patch into the mix or don't revert out the "virtio: turn
> >> vq->notification into a nested counter" patch that it fails.
> > 
> > The code in Patch 2 should not be executed in your QEMU configuration,
> > so I wonder how Patch 2 can cause the DHCP failure.
> > 
> > Please verify as follows:
> > 
> >   $ gdb --args path/to/qemu-system-x86_64 ...
> >   (gdb) handle SIGUSR1 noprint nostop pass
> >   (gdb) handle SIGPIPE noprint nostop pass
> >   (gdb) b virtio_queue_host_notifier_aio_poll_begin
> >   (gdb) r
> > 
> > I predict the breakpoint will not be hit.
> > 
> > Stefan
> > 
> 
> 
> Correct. That did not hit. I reapplied both patches to my current master
> and it did not hit but it still dropped me to the EFI shell while iPXE
> was negotiating DHCP.
> 
> I then rebased on top of the latest master
> (2ccede18bd24fce5db83fef3674563a1f256717b) and applied both patches. The
> iPXE issue went away and the assert issue went away.
> 
> So I will concur with you, the issue was not in either of these patches
> and is now resolved.
> 
> -- 
> Doug Goldstein
> 




Thanks for the testing, will merge these shortly!

-- 
MST



reply via email to

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