> -----Original Message-----
> From: Stefan Hajnoczi <stefa...@redhat.com>
> Sent: 28 March 2023 16:51
> To: Woodhouse, David <d...@amazon.co.uk>; Durrant, Paul
> <pdurr...@amazon.co.uk>
> Cc: qemu-devel@nongnu.org; qemu-bl...@nongnu.org
> Subject: [EXTERNAL] aio_set_event_notifier(is_external=true) in Xen code?
> 
> Hi,
> I'm removing the aio_disable_external() API from QEMU and noticed that
> Xen code calls aio_set_fd_handler(is_external=true) in hw/xen/xen-bus.c
> and hw/i386/kvm/xen_xenstore.c.
> 
> It wasn't clear to me whether is_external=true is necessary here.
> is_external=true is mainly used to temporarily pause I/O submission in
> the QEMU block layer. Maybe is_external=true was chosen out of caution
> but actually has no effect in this code.
> 
> Does the Xen code rely on is_external=true?


That's a good question. The call in xen-bus.c has been there since commit 
83361a8a1f932, which was when it substituted the old call to 
qemu_set_fd_handler(). I suspect this was out of caution (or possibly 
misunderstanding) at the time, although setting the call to 
xen_device_set_event_channel_context() in xen_block_dataplane_stop() does 
suggest it may be happening while I/O could be in progress so it could have 
been in response to problems caught in testing.
I suspect the code in xen_xenstore.c just copied what xen-bus.c did.

Sorry I can't give you a definitive answer... it's all rather a long time ago.

  Cheers,

    Paul

Reply via email to