[lkml]   [1999]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectQuestion on spinlocks and reentrancy

I have read (several times) Linus' excellent documentation on spinlocks in
Documentation/spinlocks.txt. I have also read all of the spinlock-related
header files in the kernel. This answers most questions, however, I have a
more fundamental issue I am still uncertain of. That is generally when to
use a spinlock for situations where no interrupt is involved; i.e.
non-interrupt-related reentrancy.

For example, say I am about to muddle with some members of current. If I
am in init_module() do I need a spinlock (like lock_kernel())? How about
in a system call that has no chance of sleeping? From within tq_scheduler?
What about within a kernel thread? Say I do a "struct task_struct *task =
current" and then only access members through task; do I still need a
spinlock at all?

Thank you for any information,
B. James Phillippe .
Software Engineer, WGT Inc. .

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:51    [from the cache]
©2003-2011 Jasper Spaans