question about __raw_spin_lock()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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,

                    Roland

--
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
-----BEGIN GEEK CODE BLOCK-----
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+++
------END GEEK CODE BLOCK------


Attachment: PGP.sig
Description: This is a digitally signed message part


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux