All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@6wind.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org,
	claudio.fontana@huawei.com, armbru@redhat.com,
	pbonzini@redhat.com, jani.kokkonen@huawei.com,
	cam@cs.ualberta.ca
Subject: Re: [Qemu-devel] [PATCH v3 2/2] docs: update ivshmem device spec
Date: Tue, 26 Aug 2014 08:47:56 +0200	[thread overview]
Message-ID: <53FC2D9C.8020804@6wind.com> (raw)
In-Reply-To: <20140808150202.GD13382@stefanha-thinkpad.redhat.com>

Hello Stefan,

On 08/08/2014 05:02 PM, Stefan Hajnoczi wrote:
> On Fri, Aug 08, 2014 at 10:55:18AM +0200, David Marchand wrote:
>> +For each client (QEMU processes) that connects to the server:
>> +- the server assigns an ID for this client and sends this ID to him as the first
>> +  message,
>> +- the server sends a fd to the shared memory object to this client,
>> +- the server creates a new set of host eventfds associated to the new client and
>> +  sends this set to all already connected clients,
>> +- finally, the server sends all the eventfds sets for all clients to the new
>> +  client.
>
> The protocol is not extensible and no version number is exchanged.  For
> the most part this should be okay because clients must run on the same
> machine as the server.  It is assumed clients and server are compatible
> with each other.
>
> I wonder if we'll get into trouble later if the protocol needs to be
> extended or some operation needs to happen, like upgrading QEMU or the
> ivshmem-server.  At the very least someone building from source but
> using system QEMU or ivshmem-server could get confusing failures if the
> protocol doesn't match.
>
> How about sending a version message as the first thing during a
> connection?

I am not too sure about this.

This would break current base version.

Using a version message supposes we want to keep ivshmem-server and QEMU 
separated (for example, in two distribution packages) while we can avoid 
this, so why would we do so ?

If we want the ivshmem-server to come with QEMU, then both are supposed 
to be aligned on your system.
If you want to test local modifications, then it means you know what you 
are doing and you will call the right ivshmem-server binary with the 
right QEMU binary.


Thanks.


-- 
David Marchand

WARNING: multiple messages have this Message-ID (diff)
From: David Marchand <david.marchand@6wind.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: kvm@vger.kernel.org, claudio.fontana@huawei.com,
	qemu-devel@nongnu.org, armbru@redhat.com, pbonzini@redhat.com,
	jani.kokkonen@huawei.com, cam@cs.ualberta.ca
Subject: Re: [Qemu-devel] [PATCH v3 2/2] docs: update ivshmem device spec
Date: Tue, 26 Aug 2014 08:47:56 +0200	[thread overview]
Message-ID: <53FC2D9C.8020804@6wind.com> (raw)
In-Reply-To: <20140808150202.GD13382@stefanha-thinkpad.redhat.com>

Hello Stefan,

On 08/08/2014 05:02 PM, Stefan Hajnoczi wrote:
> On Fri, Aug 08, 2014 at 10:55:18AM +0200, David Marchand wrote:
>> +For each client (QEMU processes) that connects to the server:
>> +- the server assigns an ID for this client and sends this ID to him as the first
>> +  message,
>> +- the server sends a fd to the shared memory object to this client,
>> +- the server creates a new set of host eventfds associated to the new client and
>> +  sends this set to all already connected clients,
>> +- finally, the server sends all the eventfds sets for all clients to the new
>> +  client.
>
> The protocol is not extensible and no version number is exchanged.  For
> the most part this should be okay because clients must run on the same
> machine as the server.  It is assumed clients and server are compatible
> with each other.
>
> I wonder if we'll get into trouble later if the protocol needs to be
> extended or some operation needs to happen, like upgrading QEMU or the
> ivshmem-server.  At the very least someone building from source but
> using system QEMU or ivshmem-server could get confusing failures if the
> protocol doesn't match.
>
> How about sending a version message as the first thing during a
> connection?

I am not too sure about this.

This would break current base version.

Using a version message supposes we want to keep ivshmem-server and QEMU 
separated (for example, in two distribution packages) while we can avoid 
this, so why would we do so ?

If we want the ivshmem-server to come with QEMU, then both are supposed 
to be aligned on your system.
If you want to test local modifications, then it means you know what you 
are doing and you will call the right ivshmem-server binary with the 
right QEMU binary.


Thanks.


-- 
David Marchand

  reply	other threads:[~2014-08-26  6:48 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-08  8:55 [PATCH v3 0/2] ivshmem: update documentation, add client/server tools David Marchand
2014-08-08  8:55 ` [Qemu-devel] " David Marchand
2014-08-08  8:55 ` [PATCH v3 1/2] contrib: add ivshmem client and server David Marchand
2014-08-08  8:55   ` [Qemu-devel] " David Marchand
2014-08-08 14:51   ` Stefan Hajnoczi
2014-08-08 14:51     ` Stefan Hajnoczi
2014-08-18 12:09     ` David Marchand
2014-08-18 12:09       ` David Marchand
2014-08-10  3:57   ` Gonglei
2014-08-10  3:57     ` [Qemu-devel] " Gonglei
2014-08-18 12:19     ` David Marchand
2014-08-18 12:19       ` David Marchand
2014-08-08  8:55 ` [PATCH v3 2/2] docs: update ivshmem device spec David Marchand
2014-08-08  8:55   ` [Qemu-devel] " David Marchand
2014-08-08  9:04   ` Claudio Fontana
2014-08-08  9:04     ` [Qemu-devel] " Claudio Fontana
2014-08-08  9:32     ` David Marchand
2014-08-08  9:32       ` [Qemu-devel] " David Marchand
2014-08-08 15:02   ` Stefan Hajnoczi
2014-08-08 15:02     ` Stefan Hajnoczi
2014-08-26  6:47     ` David Marchand [this message]
2014-08-26  6:47       ` David Marchand
2014-08-26 11:04       ` Paolo Bonzini
2014-08-26 11:04         ` Paolo Bonzini
2014-08-28  9:49         ` Stefan Hajnoczi
2014-08-28  9:49           ` Stefan Hajnoczi
2014-09-01  9:52           ` David Marchand
2014-09-01  9:52             ` David Marchand
2014-09-09 19:04             ` Eric Blake
2014-09-09 19:04               ` [Qemu-devel] " Eric Blake
2014-08-08  9:30 ` [Qemu-devel] [PATCH v3 0/2] ivshmem: update documentation, add client/server tools Gonglei (Arei)
2014-08-08  9:30   ` Gonglei (Arei)
2014-08-08  9:54   ` David Marchand
2014-08-08  9:54     ` David Marchand
2014-08-08 10:26     ` Gonglei (Arei)
2014-08-08 10:26       ` Gonglei (Arei)

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=53FC2D9C.8020804@6wind.com \
    --to=david.marchand@6wind.com \
    --cc=armbru@redhat.com \
    --cc=cam@cs.ualberta.ca \
    --cc=claudio.fontana@huawei.com \
    --cc=jani.kokkonen@huawei.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /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.