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
signature.asc
Description: PGP signature