All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Fontana <claudio.fontana@huawei.com>
To: marcandre.lureau@redhat.com, qemu-devel@nongnu.org
Cc: drjones@redhat.com, cam@cs.ualberta.ca, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review)
Date: Wed, 16 Sep 2015 14:47:41 +0200	[thread overview]
Message-ID: <55F964ED.8030603@huawei.com> (raw)
In-Reply-To: <1442333283-13119-1-git-send-email-marcandre.lureau@redhat.com>

Hi Marc Andre',

On 15.09.2015 18:07, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> 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
> 

  parent reply	other threads:[~2015-09-16 12:47 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-15 16:07 [Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review) marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 01/46] char: add qemu_chr_free() marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 02/46] msix: add VMSTATE_MSIX_TEST marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 03/46] ivhsmem: read do not accept more than sizeof(long) marcandre.lureau
2015-09-16  9:27   ` Claudio Fontana
2015-09-16  9:33     ` Marc-André Lureau
2015-09-16 11:27       ` Claudio Fontana
2015-09-16 12:03         ` Marc-André Lureau
2015-09-16 12:51         ` Paolo Bonzini
2015-09-16 13:05           ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 04/46] ivshmem: fix number of bytes to push to fifo marcandre.lureau
2015-09-16  9:28   ` Claudio Fontana
2015-09-23 10:17     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 05/46] ivshmem: factor out the incoming fifo handling marcandre.lureau
2015-09-22 14:01   ` Claudio Fontana
2015-09-23 10:18     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 06/46] ivshmem: remove unnecessary dup() marcandre.lureau
2015-09-22 14:06   ` Claudio Fontana
2015-09-22 15:29     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 07/46] ivshmem: remove superflous ivshmem_attr field marcandre.lureau
2015-09-16  9:25   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 08/46] ivshmem: remove useless doorbell field marcandre.lureau
2015-09-22 13:50   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 09/46] ivshmem: more qdev conversion marcandre.lureau
2015-09-22 14:00   ` Claudio Fontana
2015-09-23 10:22     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 10/46] ivshmem: remove last exit(1) marcandre.lureau
2015-09-22 13:55   ` Claudio Fontana
2015-09-22 13:58     ` Claudio Fontana
2015-09-22 14:00     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 11/46] ivshmem: limit maximum number of peers to G_MAXUINT16 marcandre.lureau
2015-09-22 14:09   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 12/46] ivshmem: simplify around increase_dynamic_storage() marcandre.lureau
2015-09-22 14:10   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 13/46] ivshmem: allocate eventfds in resize_peers() marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 14/46] ivshmem: remove useless ivshmem_update_irq() val argument marcandre.lureau
2015-09-22 14:13   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 15/46] ivshmem: initialize max_peer to -1 marcandre.lureau
2015-09-22 14:13   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 16/46] ivshmem: remove max_peer field marcandre.lureau
2015-09-16  9:39   ` Claudio Fontana
2015-09-16  9:40     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 17/46] ivshmem: improve debug messages marcandre.lureau
2015-09-22 14:23   ` Claudio Fontana
2015-09-23 10:29     ` Marc-André Lureau
2015-09-23 12:10       ` Claudio Fontana
2015-09-23 15:45         ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 18/46] ivshmem: improve error marcandre.lureau
2015-09-22 14:26   ` Claudio Fontana
2015-09-23 10:30     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 19/46] ivshmem: print error on invalid peer id marcandre.lureau
2015-09-22 14:27   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 20/46] ivshmem: simplify a bit the code marcandre.lureau
2015-09-22 14:32   ` Claudio Fontana
2015-09-22 14:56     ` Marc-André Lureau
2015-09-23 12:18       ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 21/46] ivshmem: use common return marcandre.lureau
2015-09-16 11:30   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 22/46] ivshmem: use common is_power_of_2() marcandre.lureau
2015-09-16 11:31   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 23/46] ivshmem: migrate with VMStateDescription marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 24/46] ivshmem: shmfd can be 0 marcandre.lureau
2015-09-16 11:33   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 25/46] ivshmem: check shm isn't already initialized marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 26/46] ivshmem: add device description marcandre.lureau
2015-09-16 11:38   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 27/46] ivshmem: fix pci_ivshmem_exit() marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 28/46] ivshmem: replace 'guest' for 'peer' appropriately marcandre.lureau
2015-09-16 11:44   ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 29/46] ivshmem: error on too many eventfd received marcandre.lureau
2015-09-16 12:14   ` Claudio Fontana
2015-09-23 10:47     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 30/46] ivshmem: reset mask on device reset marcandre.lureau
2015-09-16 12:15   ` Claudio Fontana
2015-09-23 10:48     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 31/46] contrib: add ivshmem client and server marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 32/46] ivshmem-client: check the number of vectors marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 33/46] ivshmem-server: use a uint16 for client ID marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 34/46] ivshmem-server: fix hugetlbfs support marcandre.lureau
2015-09-16 16:07   ` Vladimir Sementsov-Ogievskiy
2015-09-16 16:14     ` Marc-André Lureau
2015-09-17  8:52       ` Vladimir Sementsov-Ogievskiy
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 35/46] docs: update ivshmem device spec marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 36/46] ivshmem: add check on protocol version in QEMU marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 37/46] contrib: remove unnecessary strdup() marcandre.lureau
2015-09-17  9:01   ` Vladimir Sementsov-Ogievskiy
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 38/46] msix: implement pba write (but read-only) marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 39/46] qtest: add qtest_add_abrt_handler() marcandre.lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 40/46] tests: add ivshmem qtest marcandre.lureau
2015-09-22 14:44   ` Claudio Fontana
2015-09-23 11:24     ` Marc-André Lureau
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 41/46] ivshmem: do not keep shm_fd open marcandre.lureau
2015-09-22 14:36   ` Claudio Fontana
2015-09-22 14:59     ` Marc-André Lureau
2015-09-23 12:20       ` Claudio Fontana
2015-09-15 16:07 ` [Qemu-devel] [PATCH v3 42/46] ivshmem: make ivshmem_get_size() more generic marcandre.lureau
2015-09-16 15:23   ` Vladimir Sementsov-Ogievskiy
2015-09-16 15:24   ` Vladimir Sementsov-Ogievskiy
2015-09-16 15:26     ` Marc-André Lureau
2015-09-15 16:08 ` [Qemu-devel] [PATCH v3 43/46] ivshmem: add hostmem backend marcandre.lureau
2015-09-22 14:49   ` Claudio Fontana
2015-09-15 16:08 ` [Qemu-devel] [PATCH v3 44/46] ivshmem: remove EventfdEntry.vector marcandre.lureau
2015-09-22 14:59   ` Claudio Fontana
2015-09-22 15:18     ` Marc-André Lureau
2015-09-15 16:08 ` [Qemu-devel] [PATCH v3 45/46] ivshmem: rename MSI eventfd_table marcandre.lureau
2015-09-15 16:08 ` [Qemu-devel] [PATCH v3 46/46] ivshmem: use kvm irqfd for msi notifications marcandre.lureau
2015-09-16 12:47 ` Claudio Fontana [this message]
2015-09-16 16:52 ` [Qemu-devel] [PATCH v3 00/46] ivshmem improvements (please review) Vladimir Sementsov-Ogievskiy
2015-09-16 20:34   ` Marc-André Lureau

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=55F964ED.8030603@huawei.com \
    --to=claudio.fontana@huawei.com \
    --cc=cam@cs.ualberta.ca \
    --cc=drjones@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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.