From: "Michael S. Tsirkin" <mst@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Jason Wang <jasowang@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Greg Kurz <gkurz@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness()
Date: Thu, 27 Aug 2015 15:17:37 +0300 [thread overview]
Message-ID: <20150827151601-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <CAFEAcA98H6QLyjL5TnLiZjENRZkJPRgtagvnaDcJ6ULgSNBzwA@mail.gmail.com>
On Thu, Aug 27, 2015 at 01:12:32PM +0100, Peter Maydell wrote:
> On 27 August 2015 at 12:08, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Thu, Aug 27, 2015 at 12:04:49PM +0100, Peter Maydell wrote:
> >> On 27 August 2015 at 11:53, Michael S. Tsirkin <mst@redhat.com> wrote:
> >> > On Thu, Aug 27, 2015 at 11:49:32AM +0100, Peter Maydell wrote:
> >> >> But *why* does it require the size to be zero? I still think
> >> >> the caller should just avoid trying to do zero-size memory
> >> >> operations: they don't make sense. What is a zero size
> >> >> operation supposed to mean?
> >>
> >> > This just mirrors an API we have in kvm: if you pass 0
> >> > size when registering an ioeventfd, it will match on access
> >> > of any size.
> >>
> >> Hrm. It feels to me like the memory APIs ought to filter
> >> out bad access sizes at an earlier stage, rather than
> >> trying to make them work all the way through.
>
> > Why do you mention APIs? It's all internal to memory.c, isn't it?
>
> adjust_endianness() is internal to memory.c. The APIs
> memory.c exposes to the rest of the world are the ones
> declared in memory.h. I'm suggesting that it would be
> better to filter out rubbish like zero sizes at the
> point where the rest of the world calls the memory
> subsystem rather than ensuring that every part of the
> memory subsystem code can handle what is basically
> a completely meaningless request.
>
> -- PMM
Basically the point is that ABI is extended to make
ioeventfd with len = 0 mean "any length".
0 is thus not meaningless anymore.
--
MST
next prev parent reply other threads:[~2015-08-27 12:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-26 10:04 [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness() Jason Wang
2015-08-26 10:04 ` [Qemu-devel] [PATCH 2/2] pci: test-dev: try to test fast mmio bus for wildcard mmio event Jason Wang
2015-08-27 10:28 ` Michael S. Tsirkin
2015-08-26 14:21 ` [Qemu-devel] [PATCH 1/2] memory: allow zero size for adjust_endianness() Peter Maydell
2015-08-26 14:51 ` Greg Kurz
2015-08-27 4:50 ` Jason Wang
2015-08-27 10:49 ` Peter Maydell
2015-08-27 10:53 ` Michael S. Tsirkin
2015-08-27 11:04 ` Peter Maydell
2015-08-27 11:08 ` Michael S. Tsirkin
2015-08-27 12:12 ` Peter Maydell
2015-08-27 12:17 ` Michael S. Tsirkin [this message]
2015-08-27 12:20 ` Peter Maydell
2015-08-27 12:25 ` Michael S. Tsirkin
2015-08-27 12:27 ` Peter Maydell
2015-08-27 12:30 ` Michael S. Tsirkin
2015-08-27 13:10 ` Greg Kurz
2015-08-28 2:23 ` Jason Wang
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=20150827151601-mutt-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=gkurz@linux.vnet.ibm.com \
--cc=jasowang@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.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.