[parisc-linux] Re:[parisc-linux-cvs] linux-2.6 kyle
Michael S. Zick
mszick at morethan.org
Wed Aug 23 08:13:49 MDT 2006
On Tue August 22 2006 10:06, Kyle McMartin wrote:
> On Tue, Aug 22, 2006 at 04:37:29PM +0200, Joel Soete wrote:
> > PS: I would also read back this intersting doc
> > <http://h21007.www2.hp.com/dspp/files/unprotected/itanium/spinlocks.pdf> still
> > available on Sunday but not anymore on Monday. Is there some other place where
> > a copy could stand?
>
> http://www.parisc-linux.org/~kyle/hp-ia64-parisc-spinlocks.pdf
>
That is the document that Dave drew from with his experimental patch.
I do not recall exactly which parts of those spinlocks routines he
included - perhaps he could update this thread on the subject.
When Joel tested Dave's patch to 128-byte align the static spinlocks,
he found the system ran longer (twice as long) before failing but the
failure still happened.
If I recall correctly, that testing was done before we demonstrated
that the problem differs between kernels compiled with the series 3
and the series 4 compilers.
Joel, you will notice that the example code runs in userland.
It can be modified (by someone who knows C) to use the lock
sequences in my description.
The unfinished sections of my description will apply to systems
with more than two processors running. First we have to get your
two processor N4K running (when using series 4 gcc).
In summary (of the unfinished sections):
Not Sharing the Shared lock - - that will be needed to get more
than a single cell of Superdome working.
Request order passing - - that applies to three or more processors
to prevent starving any of the multiple waiters. A two processor
system can't starve.
Time Out Locks - - using the recovery counter for the fast (few
instruction) locked paths. This allows failed locking to be detected
and reported (perhaps recovered) even inside the timer and signal
lists.
Preempting a waiter - - only applies to spinlocks reachable from
userland (system calls).
Abandoning the wait - - includes fast locked path time-outs (an
error condition) and locks reachable from userland (just re-schedule).
>
Mike
More information about the parisc-linux
mailing list