qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: "Markus Armbruster" <armbru@redhat.com>,
	"Marc-André Lureau" <mlureau@redhat.com>
Cc: marcandre lureau <marcandre.lureau@redhat.com>,
	Claudio Fontana <claudio.fontana@huawei.com>,
	qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] ivshmem property size should be a size, not a string
Date: Mon, 23 Nov 2015 12:52:41 -0700	[thread overview]
Message-ID: <56536E89.4090408@redhat.com> (raw)
In-Reply-To: <87mvu4srid.fsf@blackfin.pond.sub.org>

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

On 11/23/2015 07:46 AM, Markus Armbruster wrote:

>>> If it's not broken, please explain to me how the guest should find out
>>> whether its ivshmem device sports a doorbell.
>>
>> If you have received ID, you should be good to use the doorbell.
> 
> That's not a complete answer, so let me try a different tack.
> 
> What value will a read of register IVPosition yield
> 
> * if the device has no doorbell:
> 
>   I think the answer is -1.
> 
> * if the device has a doorbell, but it isn't ready, yet:
> 
>   I think the answer is -1.
> 
> * if the device has a doorbell, and it is ready.
> 
>   This is the part you answered already: >= 0.
> 
> Please correct mistakes.

For what it's worth, I'm agreeing with Markus here - we have a race in
the guest learning whether doorbell is supported, and it's better to do
a clean break in API for 2.5 along with ALL the other fixes into using a
sane union of types (splitting between ivshmem-plain and
ivshmem-doorbell).  If you absolutely want it, you can still maintain
'ivshmem' as a front-end that maps to either ivshmem-plain,
ivshmem-doorbell, or an error (nonsensical combination of requests), but
having a sane interface as your starting point, rather than an
amalgamation of cruft that exists only due to the early implementation,
seems like the way to go.

I'm still waiting for any evidence that we even care about backwards
compatibility - what apps are out there that are actively using ivshmem
with its horrible pre-2.5 interface, and why can they not be fixed to
use the sane 2.5 interface?  Libvirt is NOT exposing ivshmem yet, in
part because the 2.4 interface was not very robust.  We already have a
clean break now due to all your work for 2.5; let's take advantage of
it, and make 2.5 robust, rather than breaking things again in 2.6.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  parent reply	other threads:[~2015-11-23 19:52 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-20 16:07 [Qemu-devel] ivshmem property size should be a size, not a string Markus Armbruster
2015-11-20 16:23 ` Marc-André Lureau
2015-11-20 16:46   ` Eric Blake
2015-11-20 18:06     ` Markus Armbruster
2015-11-20 18:20       ` Marc-André Lureau
2015-11-20 19:39         ` Markus Armbruster
2015-11-20 20:18           ` Marc-André Lureau
2015-11-23 10:19             ` Markus Armbruster
2015-11-23 12:15               ` Marc-André Lureau
2015-11-23 13:25                 ` Markus Armbruster
2015-11-23 13:48                   ` Marc-André Lureau
2015-11-23 14:08                     ` Markus Armbruster
2015-11-23 14:16                       ` Marc-André Lureau
2015-11-23 14:46                         ` Markus Armbruster
2015-11-23 14:53                           ` Marc-André Lureau
2015-11-23 15:17                             ` Markus Armbruster
2015-11-23 19:52                           ` Eric Blake [this message]
2015-11-23 20:19                             ` Marc-André Lureau
2015-11-24  9:56                               ` Markus Armbruster
2015-11-24 12:23                                 ` Marc-André Lureau
2015-11-24 13:50                                   ` Markus Armbruster
2015-11-24 14:23                                     ` Marc-André Lureau
2015-11-24 15:12                                       ` Markus Armbruster
2015-11-23 18:22               ` Markus Armbruster
2015-11-23 23:29             ` Andrew James
2015-11-24  9:52               ` Markus Armbruster
2015-11-23 20:57 ` Bruce Rogers

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=56536E89.4090408@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=claudio.fontana@huawei.com \
    --cc=lcapitulino@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mlureau@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).