Re: [PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-07-12 Thread Stefan Hajnoczi
On Fri, Jul 08, 2022 at 01:22:58PM +0200, Emanuele Giuseppe Esposito wrote: > > > Am 08/07/2022 um 11:33 schrieb Emanuele Giuseppe Esposito: > > > > > > Am 05/07/2022 um 16:45 schrieb Stefan Hajnoczi: > >> On Thu, Jun 09, 2022 at 10:37:26AM -0400, Emanuele Giuseppe Esposito wrote: > >>> @@

Re: [PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-07-12 Thread Stefan Hajnoczi
On Fri, Jul 08, 2022 at 11:33:28AM +0200, Emanuele Giuseppe Esposito wrote: > > > Am 05/07/2022 um 16:45 schrieb Stefan Hajnoczi: > > On Thu, Jun 09, 2022 at 10:37:26AM -0400, Emanuele Giuseppe Esposito wrote: > >> @@ -946,17 +955,20 @@ static void virtio_blk_reset(VirtIODevice *vdev) > >>

Re: [PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-07-08 Thread Emanuele Giuseppe Esposito
Am 08/07/2022 um 11:33 schrieb Emanuele Giuseppe Esposito: > > > Am 05/07/2022 um 16:45 schrieb Stefan Hajnoczi: >> On Thu, Jun 09, 2022 at 10:37:26AM -0400, Emanuele Giuseppe Esposito wrote: >>> @@ -946,17 +955,20 @@ static void virtio_blk_reset(VirtIODevice *vdev) >>> * stops all

Re: [PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-07-08 Thread Emanuele Giuseppe Esposito
Am 05/07/2022 um 16:45 schrieb Stefan Hajnoczi: > On Thu, Jun 09, 2022 at 10:37:26AM -0400, Emanuele Giuseppe Esposito wrote: >> @@ -946,17 +955,20 @@ static void virtio_blk_reset(VirtIODevice *vdev) >> * stops all Iothreads. >> */ >> blk_drain(s->blk); >> +

Re: [PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-07-05 Thread Stefan Hajnoczi
On Thu, Jun 09, 2022 at 10:37:26AM -0400, Emanuele Giuseppe Esposito wrote: > @@ -946,17 +955,20 @@ static void virtio_blk_reset(VirtIODevice *vdev) > * stops all Iothreads. > */ > blk_drain(s->blk); > +aio_context_release(ctx); > > /* We drop queued requests after

[PATCH 7/8] VirtIOBlock: protect rq with its own lock

2022-06-09 Thread Emanuele Giuseppe Esposito
s->rq is pointing to the the VirtIOBlockReq list, and this list is read/written in: virtio_blk_reset = main loop, but caller calls ->stop_ioeventfd() and drains, so no iothread runs in parallel virtio_blk_save_device = main loop, but VM is stopped (migration), so iothread has no work on request