lockmeter
[Top] [All Lists]

Re: bug in _spin_lock_()?

To: "Pat O'Rourke" <orourke@xxxxxxxxxxxxxxxxxxxxxxxx>, <lockmeter@xxxxxxxxxxx>
Subject: Re: bug in _spin_lock_()?
From: "John Hawkes" <hawkes@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 3 Apr 2000 15:10:11 -0700
References: <38E9021B.E4B8C587@missioncriticallinux.com>
Sender: owner-lockmeter@xxxxxxxxxxx
From: "Pat O'Rourke" <orourke@xxxxxxxxxxxxxxxxxxxxxxxx>
...
> I was attempting to get the lockmeter code running in 2.3.99-pre3 on a
2 cpu
> alpha and was encountering difficulty starting the second cpu.  After
some
> debugging I noticed _spin_lock_() did not contain a barrier() call as
does
> the spin_unlock_wait() macro on alpha (as well as several other
architectures:
> e.g. sparc, ppc, sparc64, ia64).
...

I apologize for my inadequate treatment of non-IA32 architectures.
Thanks for pointing this out.

I'm about to release a patch that cuts the performance penalty of
lockmetering in half (changes that were implemented by Ray Bryant at
IBM).  I'll incorporate your barrier() fix into that.  Also, at some
point in the near term I'm going to abstract the kernel/lockmeter.c
bitfield manipulations and push the details down into the
include/asm/spinlock.h files.  I really don't want kernel/lockmeter.c to
be yet another file that understands which bits get turned on and off
for spinlocks and read-write locks.

Thanks for your help!

John Hawkes


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