From mboxrd@z Thu Jan 1 00:00:00 1970 From: compudj@krystal.dyndns.org (Mathieu Desnoyers) Date: Thu, 9 Jun 2011 10:43:29 -0400 Subject: [ltt-dev] [PATCH] call_rcu: keep BUSY flag set as long as possible In-Reply-To: <4DF0D6AD.7010500@redhat.com> References: <1307523558-16960-1-git-send-email-pbonzini@redhat.com> <1307524638-17313-1-git-send-email-pbonzini@redhat.com> <4DF0D6AD.7010500@redhat.com> Message-ID: * Paolo Bonzini (pbonzini at redhat.com) wrote: > On 06/09/2011 04:09 PM, Mathieu Desnoyers wrote: >> Would this be equivalent to not setting: >> >> uatomic_set(&crdp->futex, 0); >> >> before breaking the loop, but then not decrementing >> >> uatomic_dec(&crdp->futex); >> >> at the next loop iteration ? > > Something like that, yes. Actually, my implementation had a problem with non-empty lists: it would lead to decrementing the futex value below -1. commit bc94ca9bada25f7403e3e859caa241146ae8e338 fixes this. Thanks, Mathieu > > Paolo > -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com