lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 15 May 2011 15:47:46 +0300 From: "Michael S. Tsirkin" <mst@...hat.com> To: Rusty Russell <rusty@...tcorp.com.au> Cc: linux-kernel@...r.kernel.org, Carsten Otte <cotte@...ibm.com>, Christian Borntraeger <borntraeger@...ibm.com>, linux390@...ibm.com, Martin Schwidefsky <schwidefsky@...ibm.com>, Heiko Carstens <heiko.carstens@...ibm.com>, Shirley Ma <xma@...ibm.com>, lguest@...ts.ozlabs.org, virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org, linux-s390@...r.kernel.org, kvm@...r.kernel.org, Krishna Kumar <krkumar2@...ibm.com>, Tom Lendacky <tahm@...ux.vnet.ibm.com>, steved@...ibm.com, habanero@...ux.vnet.ibm.com Subject: Re: [PATCH 08/18] virtio_ring: support for used_event idx feature On Mon, May 09, 2011 at 01:47:32PM +0930, Rusty Russell wrote: > On Wed, 4 May 2011 23:51:38 +0300, "Michael S. Tsirkin" <mst@...hat.com> wrote: > > Add support for the used_event idx feature: when enabling > > interrupts, publish the current avail index value to > > the host so that we get interrupts on the next update. > > > > Signed-off-by: Michael S. Tsirkin <mst@...hat.com> > > --- > > drivers/virtio/virtio_ring.c | 14 ++++++++++++++ > > 1 files changed, 14 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > > index 507d6eb..3a3ed75 100644 > > --- a/drivers/virtio/virtio_ring.c > > +++ b/drivers/virtio/virtio_ring.c > > @@ -320,6 +320,14 @@ void *virtqueue_get_buf(struct virtqueue *_vq, unsigned int *len) > > ret = vq->data[i]; > > detach_buf(vq, i); > > vq->last_used_idx++; > > + /* If we expect an interrupt for the next entry, tell host > > + * by writing event index and flush out the write before > > + * the read in the next get_buf call. */ > > + if (!(vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)) { > > + vring_used_event(&vq->vring) = vq->last_used_idx; > > + virtio_mb(); > > + } > > + > > Hmm, so you're still using the avail->flags; it's just if thresholding > is enabled the host will ignore it? > > It's a little subtle, but it keeps this patch small. Right, that's exactly why I do it this way. > Perhaps we'll want to make it more explicit later. > > Thanks, > Rusty. Yes, e.g. it might be better to avoid touching that cache line, and track the current status in a private field in the guest. But I was unable to measure any effect from doing it either way. -- MST -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists