linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: kernel spinlocks; when to use; when appropriate?
@ 2003-06-14 16:41 Lars Unin
  2003-06-15  0:50 ` Joe Korty
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Unin @ 2003-06-14 16:41 UTC (permalink / raw)
  To: hahn; +Cc: linux-kernel

 I wrote a while ago (thanks to you guys on LKML I almost 
understand now):

> >    When is is appropriate to use spinlocks in the kernel,
><snipped> 
 Then Mark hahn wrote:

> jeez.  it's verging on rude to ask this sort of question,
> when you have the vast expanses of kernel code right there
> in front of you, chocked full of spinlocks.  the mere fact
> that the list has tens of thousands of readers should make 
> you try to help yourself first.
 
 Well <sirens heard> its verging on rude to send me an email thats
rude <people heard in background> and has this theme:

 You are a two year old, to learn what the words "quarks" mean you
should read Quantum Thoeries by Lazzengberg, then use a particle 
accelerator to Quantify and factualise it, OR

 Like asking a 6 year old where babies come from... Lets face 
it, how many 6 year olds can work out the full process without
a book expalining it, or someone telling them...

 Its verging on rude also to assume even though <Voices heard 
"PUT THE GUN DOWN, NOBODY HAS TO DIE"> <Hahns palms held outstretched>
nobody wants to read my question, that I would want to read such
an answer, so tell me <"NOW BRAVO TEAM, GO GO,"> why the rant by you? 

BRAVO TEAM GO GO! SUSPECT IS UNARMED. REPEAT. SUSPECT IS UNARMED.

 Chill. ;-)
 Lars.
-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: kernel spinlocks; when to use; when appropriate?
  2003-06-14 16:41 kernel spinlocks; when to use; when appropriate? Lars Unin
@ 2003-06-15  0:50 ` Joe Korty
  0 siblings, 0 replies; 6+ messages in thread
From: Joe Korty @ 2003-06-15  0:50 UTC (permalink / raw)
  To: Lars Unin; +Cc: hahn, linux-kernel

>  I wrote a while ago (thanks to you guys on LKML I almost 
> understand now):

I missed the start of this thread, so forgive me if I state what was
stated before.

Use semaphores when the average hold time will be much longer than
two context switches, spinlocks for everything else.  Semaphores when
contended force the process to go to sleep (one context switch), later,
the process will be switched back in when it gets the semaphore (another
context switch).  This double context switch takes a fixed amount of
time and if you can get through your critical region much faster than
that fixed time, then it should be protected by a spinlock.

There are places where you have to use spinlocks irrespective of the
above: when in interrupt code (where sleeping is not allowed), and in
regions of code where some other spinlock is held (where sleeping is also
not allowed).  The latter is especially insideous -- the more kernel
code protected by spinlocks, the more likely those existing spinlocks
will force new code to have to use spinlocks instead of semaphores.

Joe

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: kernel spinlocks; when to use; when appropriate?
  2003-06-09 16:01 Lars Unin
@ 2003-06-09 17:21 ` Eli Carter
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Carter @ 2003-06-09 17:21 UTC (permalink / raw)
  To: Lars Unin; +Cc: corbet, linux-kernel

Lars Unin wrote:
>>May I humbly suggest a look at Linux Device Drivers, Second Edition?  It
>>goes over locking primitives in a fair amount of detail, and includes
>>examples of their use.  Available freely online at:
>>
>>	http://www.xml.com/ldd/chapter/book/index.html
> 
> 
> I'll download it if its any good i'll buy a copy :-)
> 

Then save yourself the bandwidth and just by a copy already! :)

Eli
--------------------. "If it ain't broke now,
Eli Carter           \                  it will be soon." -- crypto-gram
eli.carter(a)inet.com `-------------------------------------------------


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: kernel spinlocks; when to use; when appropriate?
@ 2003-06-09 16:01 Lars Unin
  2003-06-09 17:21 ` Eli Carter
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Unin @ 2003-06-09 16:01 UTC (permalink / raw)
  To: corbet; +Cc: linux-kernel

>May I humbly suggest a look at Linux Device Drivers, Second Edition?  It
>goes over locking primitives in a fair amount of detail, and includes
>examples of their use.  Available freely online at:
>
>	http://www.xml.com/ldd/chapter/book/index.html

I'll download it if its any good i'll buy a copy :-)

-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: kernel spinlocks; when to use; when appropriate?
  2003-06-09 15:43 Lars Unin
@ 2003-06-09 15:50 ` Jonathan Corbet
  0 siblings, 0 replies; 6+ messages in thread
From: Jonathan Corbet @ 2003-06-09 15:50 UTC (permalink / raw)
  To: Lars Unin; +Cc: linux-kernel

>    When is is appropriate to use spinlocks in the kernel,
> how are they implemented (e.g. syntax, function names) and
> can anyone think of a good area of the kernel for me to look 
> at, that uses them?

May I humbly suggest a look at Linux Device Drivers, Second Edition?  It
goes over locking primitives in a fair amount of detail, and includes
examples of their use.  Available freely online at:

	http://www.xml.com/ldd/chapter/book/index.html

or in your favorite bookstore.

jon

Jonathan Corbet
Executive editor, LWN.net
corbet@lwn.net

^ permalink raw reply	[flat|nested] 6+ messages in thread

* kernel spinlocks; when to use; when appropriate?
@ 2003-06-09 15:43 Lars Unin
  2003-06-09 15:50 ` Jonathan Corbet
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Unin @ 2003-06-09 15:43 UTC (permalink / raw)
  To: linux-kernel

Hi,
   When is is appropriate to use spinlocks in the kernel,
how are they implemented (e.g. syntax, function names) and
can anyone think of a good area of the kernel for me to look 
at, that uses them?

Thanks again for any help.
                   Lars.

Thanks double-ly if you give code examples... :-)
-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-06-15  0:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-14 16:41 kernel spinlocks; when to use; when appropriate? Lars Unin
2003-06-15  0:50 ` Joe Korty
  -- strict thread matches above, loose matches on Subject: below --
2003-06-09 16:01 Lars Unin
2003-06-09 17:21 ` Eli Carter
2003-06-09 15:43 Lars Unin
2003-06-09 15:50 ` Jonathan Corbet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).