From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33352) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeP0A-0000cp-Au for qemu-devel@nongnu.org; Tue, 22 Sep 2015 10:57:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZeP07-0003Wx-IV for qemu-devel@nongnu.org; Tue, 22 Sep 2015 10:57:02 -0400 Received: from mx6-phx2.redhat.com ([209.132.183.39]:35628) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeP07-0003W9-CB for qemu-devel@nongnu.org; Tue, 22 Sep 2015 10:56:59 -0400 Date: Tue, 22 Sep 2015 10:56:52 -0400 (EDT) From: =?utf-8?Q?Marc-Andr=C3=A9?= Lureau Message-ID: <728602088.15205302.1442933812138.JavaMail.zimbra@redhat.com> In-Reply-To: <56016689.6010808@huawei.com> References: <1442333283-13119-1-git-send-email-marcandre.lureau@redhat.com> <1442333283-13119-21-git-send-email-marcandre.lureau@redhat.com> <56016689.6010808@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3 20/46] ivshmem: simplify a bit the code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Claudio Fontana Cc: marcandre lureau , drjones@redhat.com, cam@cs.ualberta.ca, qemu-devel@nongnu.org, stefanha@redhat.com ----- Original Message ----- > On 15.09.2015 18:07, marcandre.lureau@redhat.com wrote: > > From: Marc-Andr=C3=A9 Lureau > >=20 > > Use some more explicit variables to simplify the code. > >=20 > > nth_eventfd variable is the current eventfd to be manipulated. >=20 > well maybe a silly question, but then why not call it current_eventfd? Either way, ok. current_eventfd is the nth eventfd to be added :) >=20 > > Signed-off-by: Marc-Andr=C3=A9 Lureau > > --- > > hw/misc/ivshmem.c | 26 ++++++++++++-------------- > > 1 file changed, 12 insertions(+), 14 deletions(-) > >=20 > > diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c > > index 1c98ec3..a60454f 100644 > > --- a/hw/misc/ivshmem.c > > +++ b/hw/misc/ivshmem.c > > @@ -488,9 +488,10 @@ static void ivshmem_read(void *opaque, const uint8= _t > > *buf, int size) > > { > > IVShmemState *s =3D opaque; > > int incoming_fd; > > - int guest_max_eventfd; > > + int nth_eventfd; > > long incoming_posn; > > Error *err =3D NULL; > > + Peer *peer; > > =20 > > if (!fifo_update_and_get(s, buf, size, > > &incoming_posn, sizeof(incoming_posn))) { > > @@ -517,6 +518,8 @@ static void ivshmem_read(void *opaque, const uint8_= t > > *buf, int size) > > } > > } > > =20 > > + peer =3D &s->peers[incoming_posn]; > > + > > if (incoming_fd =3D=3D -1) { > > /* if posn is positive and unseen before then this is our posn= */ > > if (incoming_posn >=3D 0 && s->vm_id =3D=3D -1) { > > @@ -564,27 +567,22 @@ static void ivshmem_read(void *opaque, const uint= 8_t > > *buf, int size) > > return; > > } > > =20 > > - /* each guest has an array of eventfds, and we keep track of how m= any > > - * guests for each VM */ >=20 > you removed a few comments, do they no longer apply? > If so do they need to be replaced with better ones mentioning how it work= s in > contrast with the previous? That comment didn't make much sense to me, especially the second part, what about: "each peer has an associated array of eventfds, and we keep track of how ma= ny eventfd received so far" >=20 > > - guest_max_eventfd =3D s->peers[incoming_posn].nb_eventfds; > > + /* get a new eventfd */ > > + nth_eventfd =3D peer->nb_eventfds++; > > =20 > > /* this is an eventfd for a particular guest VM */ > > IVSHMEM_DPRINTF("eventfds[%ld][%d] =3D %d\n", incoming_posn, > > - guest_max_eventfd, incoming_fd); > > - > > event_notifier_init_fd(&s->peers[incoming_posn].eventfds[guest_max_even= tfd], > > - incoming_fd); > > - > > - /* increment count for particular guest */ > > - s->peers[incoming_posn].nb_eventfds++; > > + nth_eventfd, incoming_fd); > > + event_notifier_init_fd(&peer->eventfds[nth_eventfd], incoming_fd); > > =20 > > if (incoming_posn =3D=3D s->vm_id) { > > - s->eventfd_chr[guest_max_eventfd] =3D create_eventfd_chr_devic= e(s, > > - &s->peers[s->vm_id].eventfds[guest_max_eventfd], > > - guest_max_eventfd); > > + s->eventfd_chr[nth_eventfd] =3D create_eventfd_chr_device(s, > > + &s->peers[s->vm_id].eventfds[nth_eventfd], > > + nth_eventfd); > > } > > =20 > > if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD)) { > > - ivshmem_add_eventfd(s, incoming_posn, guest_max_eventfd); > > + ivshmem_add_eventfd(s, incoming_posn, nth_eventfd); > > } > > } > > =20 > >=20 >=20 > Ciao > C. >=20 >=20