WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] barriers before {req/rsp}_cons = cons?

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] barriers before {req/rsp}_cons = cons?
From: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
Date: Fri, 18 Jul 2008 20:34:45 +0100
Cc:
Delivery-date: Fri, 18 Jul 2008 12:36:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20080718193304.GI4576@implementation>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Mail-followup-to: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
References: <20080718185240.GH4576@implementation> <C4A6AE11.1B457%keir.fraser@xxxxxxxxxxxxx> <20080718193304.GI4576@implementation>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.12-2006-07-14
Samuel Thibault, le Fri 18 Jul 2008 20:33:04 +0100, a écrit :
> Keir Fraser, le Fri 18 Jul 2008 20:31:13 +0100, a écrit :
> > > cons = netif->tx.req_cons;
> > > rmb(); /* Ensure that we see the request before we copy it. */
> > > memcpy(&txreq, RING_GET_REQUEST(&netif->tx, i), sizeof(txreq));
> > > some checks
> > > netif->tx.req_cons = ++cons;
> > 
> > Could you describe the race you believe is made possible by the absence of
> > the barrier?
> 
> It is very unlikely, but the write into req_cons could happen before
> actually doing the memcpy,

(more precisely, the read, of course).

> and so another processor could try to reuse
> the same request slot.

Samuel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel