All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: "Durrant, Paul" <pdurrant@amazon.co.uk>
Cc: "Woodhouse, David" <dwmw@amazon.co.uk>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"qemu-block@nongnu.org" <qemu-block@nongnu.org>
Subject: Re: aio_set_event_notifier(is_external=true) in Xen code?
Date: Tue, 28 Mar 2023 14:10:36 -0400	[thread overview]
Message-ID: <20230328181036.GA1636312@fedora> (raw)
In-Reply-To: <1c064dc2c005455a88025f985a9bf66b@amazon.co.uk>

[-- Attachment #1: Type: text/plain, Size: 1761 bytes --]

On Tue, Mar 28, 2023 at 04:36:29PM +0000, Durrant, Paul wrote:
> > -----Original Message-----
> > From: Stefan Hajnoczi <stefanha@redhat.com>
> > Sent: 28 March 2023 16:51
> > To: Woodhouse, David <dwmw@amazon.co.uk>; Durrant, Paul
> > <pdurrant@amazon.co.uk>
> > Cc: qemu-devel@nongnu.org; qemu-block@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.

Thanks, that helped! I'll study hw/block/dataplane/xen-block.c and make
sure it has a safe alternative to is_external=true.

I think is_external=false is safe for xen_xenstore.c.

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

      reply	other threads:[~2023-03-28 18:11 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-28 15:50 aio_set_event_notifier(is_external=true) in Xen code? Stefan Hajnoczi
2023-03-28 16:36 ` Durrant, Paul
2023-03-28 18:10   ` Stefan Hajnoczi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230328181036.GA1636312@fedora \
    --to=stefanha@redhat.com \
    --cc=dwmw@amazon.co.uk \
    --cc=pdurrant@amazon.co.uk \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.