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][PATCH] concurrency control issues in netback


>>> On Mon, Jun 5, 2006 at  9:48 AM, in message
<daacab32d9e77bbbae6fa0c9ef088a91@xxxxxxxxxxxx>, Keir Fraser
<Keir.Fraser@xxxxxxxxxxxx> wrote: 

> On 5 Jun 2006, at 04:18, Ky Srinivasan wrote:
> 
>> I have been looking at the netback code (netback.c) and I think
there
>> may be a bug in the way concurrency is managed here. Specifically,
the
>> function that cleans up completed requests (net_tx_action_dealloc())
is
>> executed only from within a tasklet and hence does not acquire any 
>> locks
>> to manipulate global state that could potentially be modified from 
>> other
>> cpus. The code seems to assume writes are ordered without
explicitly
>> forcing the ordering. The problematic  global state is the index
that
>> keeps track of the last valid index to be dealloced (dealloc_prod).

>> This
>>  could potentially be manipulated outside of the tasklet.
> 
> That's a good catch! Does your patch fix the network problems that
you 
> guys have been seeing?

I am hoping it will fix the problem! The machines needed to reproduce
the problem are in our Provo labs. We will get the tests going this
morning. We will keep you posted.

> 
> The patch needs cleaning up: at least to rename the lock, but
actually 
> just explicitly forcing the ordering we need is probably better. I'll

Agreed. 
> sort that out and check in a suitable fix.
> 
>   Thanks!
>   Keir
> 
Regards,

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


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

<Prev in Thread] Current Thread [Next in Thread>