[lkml]   [2006]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectquestion about __raw_spin_lock()
Dear experts!

Trying to inform myself about the locking possibilities on i386, I
read linux/include/asm-i386/spinlock.h. I'm no expert on inline
assembly, so I'm asking myself what would happen on a very big system
if more than 128 threads are waiting on the same raw_spinlock_t.
Would the 129th locker erroneously succeed immediately?

As a side note: I was looking because I have to implement a simple
lock between processes in shared memory, and unfortunately I cannot
use the NPTL :-( SysV semaphores presumably are much too heavy to
protect simple linked list operations (no scanning of the list under
the lock, just inserting on one end and removing from the other).
Does anybody have a better idea than spinning in user space---with a
nanosleep now and then---or does this have problems I'm not aware of?

Thanks for your help,


TU Muenchen, Physik-Department E18, James-Franck-Str., 85748 Garching
Telefon 089/289-12575; Telefax 089/289-12570
CERN office: 892-1-D23 phone: +41 22 7676540 mobile: +41 76 487 4482
Any society that would give up a little liberty to gain a little
security will deserve neither and lose both. - Benjamin Franklin
Version: 3.12
GS/CS/M/MU d-(++) s:+ a-> C+++ UL++++ P+++ L+++ E(+) W+ !N K- w--- M
+ !V Y+
PGP++ t+(++) 5 R+ tv-- b+ DI++ e+++>++++ h---- y+++

[unhandled content-type:application/pgp-signature]
 \ /
  Last update: 2006-09-06 10:29    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean