From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41822) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcC7s-000591-56 for qemu-devel@nongnu.org; Wed, 16 Sep 2015 08:47:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZcC7o-0004hJ-3F for qemu-devel@nongnu.org; Wed, 16 Sep 2015 08:47:52 -0400 Received: from lhrrgout.huawei.com ([194.213.3.17]:18261) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZcC7n-0004gk-RR for qemu-devel@nongnu.org; Wed, 16 Sep 2015 08:47:48 -0400 References: <1442333283-13119-1-git-send-email-marcandre.lureau@redhat.com> From: Claudio Fontana Message-ID: <55F964ED.8030603@huawei.com> Date: Wed, 16 Sep 2015 14:47:41 +0200 MIME-Version: 1.0 In-Reply-To: <1442333283-13119-1-git-send-email-marcandre.lureau@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: marcandre.lureau@redhat.com, qemu-devel@nongnu.org Cc: drjones@redhat.com, cam@cs.ualberta.ca, stefanha@redhat.com Hi Marc Andre', On 15.09.2015 18:07, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau > > Hi, > > This series is mostly about adding the client/server code from David > Marchand, code cleanups, and little improvements and fixes for > ivshmem. Finally there is some ivshmem tests (they work fine without > kvm btw). > > The first two series didn't get much feedback, and the third series is > mostly untouched. The code is not complicated (hopefully), please > review, thanks!! :) I'll give it a shot. Ciao Claudio > > Git: https://github.com/elmarco/qemu.git ivshmem branch > > v2->v3: > - add old migration fallback code > - split a few patches > - improve some commit messages > - drop a commit checking eventfd read value > > v1->v2: > - add support for hugepage shm (suggested by Andrew Jones) > - add irqfd for msix notification > > David Marchand (3): > contrib: add ivshmem client and server > docs: update ivshmem device spec > ivshmem: add check on protocol version in QEMU > > Marc-André Lureau (43): > char: add qemu_chr_free() > msix: add VMSTATE_MSIX_TEST > ivhsmem: read do not accept more than sizeof(long) > ivshmem: fix number of bytes to push to fifo > ivshmem: factor out the incoming fifo handling > ivshmem: remove unnecessary dup() > ivshmem: remove superflous ivshmem_attr field > ivshmem: remove useless doorbell field > ivshmem: more qdev conversion > ivshmem: remove last exit(1) > ivshmem: limit maximum number of peers to G_MAXUINT16 > ivshmem: simplify around increase_dynamic_storage() > ivshmem: allocate eventfds in resize_peers() > ivshmem: remove useless ivshmem_update_irq() val argument > ivshmem: initialize max_peer to -1 > ivshmem: remove max_peer field > ivshmem: improve debug messages > ivshmem: improve error > ivshmem: print error on invalid peer id > ivshmem: simplify a bit the code > ivshmem: use common return > ivshmem: use common is_power_of_2() > ivshmem: migrate with VMStateDescription > ivshmem: shmfd can be 0 > ivshmem: check shm isn't already initialized > ivshmem: add device description > ivshmem: fix pci_ivshmem_exit() > ivshmem: replace 'guest' for 'peer' appropriately > ivshmem: error on too many eventfd received > ivshmem: reset mask on device reset > ivshmem-client: check the number of vectors > ivshmem-server: use a uint16 for client ID > ivshmem-server: fix hugetlbfs support > contrib: remove unnecessary strdup() > msix: implement pba write (but read-only) > qtest: add qtest_add_abrt_handler() > tests: add ivshmem qtest > ivshmem: do not keep shm_fd open > ivshmem: make ivshmem_get_size() more generic > ivshmem: add hostmem backend > ivshmem: remove EventfdEntry.vector > ivshmem: rename MSI eventfd_table > ivshmem: use kvm irqfd for msi notifications > > Makefile | 8 + > configure | 3 + > contrib/ivshmem-client/ivshmem-client.c | 444 ++++++++++++++++++ > contrib/ivshmem-client/ivshmem-client.h | 213 +++++++++ > contrib/ivshmem-client/main.c | 239 ++++++++++ > contrib/ivshmem-server/ivshmem-server.c | 478 +++++++++++++++++++ > contrib/ivshmem-server/ivshmem-server.h | 166 +++++++ > contrib/ivshmem-server/main.c | 263 +++++++++++ > docs/specs/ivshmem_device_spec.txt | 127 +++-- > hw/misc/ivshmem.c | 801 ++++++++++++++++++++++---------- > hw/pci/msix.c | 6 + > include/hw/misc/ivshmem.h | 25 + > include/hw/pci/msix.h | 16 +- > include/sysemu/char.h | 10 +- > qemu-char.c | 9 +- > qemu-doc.texi | 10 +- > tests/Makefile | 3 + > tests/ivshmem-test.c | 486 +++++++++++++++++++ > tests/libqtest.c | 37 +- > tests/libqtest.h | 2 + > 20 files changed, 3050 insertions(+), 296 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 > create mode 100644 tests/ivshmem-test.c >