Re: [PATCH v4 00/14] ivshmem: update documentation, add client/server tools

2014-09-03 Thread Eric Blake
On 09/03/2014 07:01 AM, David Marchand wrote:

>> Rather than introducing new files with bugs, followed by patches to
>> clean it up, why not just introduce the new files correct in the first
>> place?  I think you are better off squashing in a lot of the cleanup
>> patches into patch 1.
> 
> Actually, I mentioned this in a previous email but did not get any comment.
> So, I preferred to send the splitted patches to ease review (from my
> point of view).

It does not ease reviewer time to have a known buggy patch with later
cleanups.  I'd rather see your best effort at a bug-free patch to begin
with, than to spend my time pointing out bugs only to find out you
already fixed them later in the series.

> 
> Once code looks fine enough, I intend to keep only three patches :
> - one for the initial import of ivshmem-client / server
> - one for the documentation update
> - one last with the protocol change

If that is your plan for the final series, then that is the same plan
you should be using for reviews.  You want the reviewers to see your
proposed final product, not your intermediate state of how you got there.

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



signature.asc
Description: OpenPGP digital signature


Re: [PATCH v4 00/14] ivshmem: update documentation, add client/server tools

2014-09-03 Thread David Marchand

Hello Eric,

On 09/02/2014 10:31 PM, Eric Blake wrote:

On 09/02/2014 09:25 AM, David Marchand wrote:

Here is a patchset containing an update on ivshmem specs documentation and
importing ivshmem server and client tools.
These tools have been written from scratch and are not related to what is
available in nahanni repository.
I put them in contrib/ directory as the qemu-doc.texi was already telling the
server was supposed to be there.

Changes since v3:
- first patch is untouched
- just restored the Reviewed-By Claudio in second patch
- following patches 3-8 take into account Stefan's comments
- patches 9-12 take into account Gonglei's comments
- patch 13 adjusts ivshmem-server default values
- last patch introduces a change in the ivshmem client-server protocol to
   check a protocol version at connect time


Rather than introducing new files with bugs, followed by patches to
clean it up, why not just introduce the new files correct in the first
place?  I think you are better off squashing in a lot of the cleanup
patches into patch 1.


Actually, I mentioned this in a previous email but did not get any comment.
So, I preferred to send the splitted patches to ease review (from my 
point of view).


Once code looks fine enough, I intend to keep only three patches :
- one for the initial import of ivshmem-client / server
- one for the documentation update
- one last with the protocol change

Is it okay this way ?


--
David Marchand
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 00/14] ivshmem: update documentation, add client/server tools

2014-09-02 Thread Eric Blake
On 09/02/2014 09:25 AM, David Marchand wrote:
> Here is a patchset containing an update on ivshmem specs documentation and
> importing ivshmem server and client tools.
> These tools have been written from scratch and are not related to what is
> available in nahanni repository.
> I put them in contrib/ directory as the qemu-doc.texi was already telling the
> server was supposed to be there.
> 
> Changes since v3:
> - first patch is untouched
> - just restored the Reviewed-By Claudio in second patch
> - following patches 3-8 take into account Stefan's comments
> - patches 9-12 take into account Gonglei's comments
> - patch 13 adjusts ivshmem-server default values
> - last patch introduces a change in the ivshmem client-server protocol to
>   check a protocol version at connect time

Rather than introducing new files with bugs, followed by patches to
clean it up, why not just introduce the new files correct in the first
place?  I think you are better off squashing in a lot of the cleanup
patches into patch 1.

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



signature.asc
Description: OpenPGP digital signature


[PATCH v4 00/14] ivshmem: update documentation, add client/server tools

2014-09-02 Thread David Marchand
Here is a patchset containing an update on ivshmem specs documentation and
importing ivshmem server and client tools.
These tools have been written from scratch and are not related to what is
available in nahanni repository.
I put them in contrib/ directory as the qemu-doc.texi was already telling the
server was supposed to be there.

Changes since v3:
- first patch is untouched
- just restored the Reviewed-By Claudio in second patch
- following patches 3-8 take into account Stefan's comments
- patches 9-12 take into account Gonglei's comments
- patch 13 adjusts ivshmem-server default values
- last patch introduces a change in the ivshmem client-server protocol to
  check a protocol version at connect time

Changes since v2:
- fixed license issues in ivshmem client/server (I took hw/virtio/virtio-rng.c
  file as a reference).

Changes since v1:
- moved client/server import patch before doc update,
- tried to re-organise the ivshmem_device_spec.txt file based on Claudio
  comments (still not sure if the result is that great, comments welcome),
- incorporated comments from Claudio, Eric and Cam,
- added more details on the server <-> client messages exchange (but sorry, no
  ASCII art here).

By the way, there are still some functionnalities that need description (use of
ioeventfd, the lack of irqfd support) and some parts of the ivshmem code clearly
need cleanup. I will try to address this in future patches when these first
patches are ok.


-- 
David Marchand

David Marchand (14):
  contrib: add ivshmem client and server
  docs: update ivshmem device spec
  contrib/ivshmem-*: comply with QEMU coding style
  contrib/ivshmem-*: reuse qemu/queue.h
  contrib/ivshmem-*: switch to QEMU headers
  contrib/ivshmem-server: set client sockets as non blocking
  contrib/ivshmem-*: add missing const and static attrs
  contrib/ivshmem-*: plug client and server in QEMU top Makefile
  contrib/ivshmem-*: switch to g_malloc0/g_free
  contrib/ivshmem-server: fix mem leak on error
  contrib/ivshmem-*: rework error handling
  contrib/ivshmem-*: various fixes
  contrib/ivshmem-server: align server default parameter values
  ivshmem: add check on protocol version in QEMU

 Makefile|8 +
 configure   |3 +
 contrib/ivshmem-client/ivshmem-client.c |  413 +++
 contrib/ivshmem-client/ivshmem-client.h |  240 ++
 contrib/ivshmem-client/main.c   |  237 ++
 contrib/ivshmem-server/ivshmem-server.c |  402 ++
 contrib/ivshmem-server/ivshmem-server.h |  187 ++
 contrib/ivshmem-server/main.c   |  243 ++
 docs/specs/ivshmem_device_spec.txt  |  127 +++---
 hw/misc/ivshmem.c   |   43 +++-
 include/hw/misc/ivshmem.h   |   17 ++
 qemu-doc.texi   |   10 +-
 12 files changed, 1887 insertions(+), 43 deletions(-)
 create mode 100644 contrib/ivshmem-client/ivshmem-client.c
 create mode 100644 contrib/ivshmem-client/ivshmem-client.h
 create mode 100644 contrib/ivshmem-client/main.c
 create mode 100644 contrib/ivshmem-server/ivshmem-server.c
 create mode 100644 contrib/ivshmem-server/ivshmem-server.h
 create mode 100644 contrib/ivshmem-server/main.c
 create mode 100644 include/hw/misc/ivshmem.h

-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html