Messages in this thread | | | Date | Wed, 06 May 2015 21:07:01 +0530 | From | Raghavendra K T <> | Subject | Re: [PATCH] x86/spinlocks: Fix regression in spinlock contention detection |
| |
On 05/05/2015 09:45 AM, Tahsin Erdogan wrote: > A spinlock is regarded as contended when there is at least one waiter. > Currently, the code that checks whether there are any waiters rely on > tail value being greater than head. However, this is not true if tail > reaches the max value and wraps back to zero, so arch_spin_is_contended() > incorrectly returns 0 (not contended) when tail is smaller than head. > > The original code (before regression) handled this case by casting the > (tail - head) to an unsigned value. This change simply restores that > behavior. > > Fixes: d6abfdb20223 ("x86/spinlocks/paravirt: Fix memory corruption on > unlock") > Signed-off-by: Tahsin Erdogan <tahsin@google.com> > ---
Tahsin, Perhaps we need to CC stable (3.19) too..?
| |