login
Header Space

 
 

Re: Interrupt, interrupt threads, continuations, and kernel lwps

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Bucky Katz <bucky@...>
Cc: <tech-kern@...>
Date: Friday, February 23, 2007 - 6:23 pm

>Not all of them. If you do a top/bottom design with lockless

Coming up with good, machine-independent (MI) atomic primitives for
non-blocking synchronization is a real challenge. I recall debugging
an multiple-68040-based SMP machine, where we used the '040s to get
CAS2.  

I also invented LLP/SCP for MIPS (LL/LLP/SCP/SC lets you synthesize
CAS2 or atomic-double-queue operations) , though SGI (then-owner of
Mips) never quite got the r20k out :-/.

Point being, designing NBS algorithms for an MI OS kernel means we
need to choose MI atomic operations,and that's difficult.
(Bershad's Restartable Atomic  Sequences (RAS) are sometimes offered
here, but that's a featurefor userspace code, not  kernel-space code).

NBS is also a challenge for many otherwise-accomplished kernel
hackers (a problem shared by continuation-passing style).  Though,
combined with type-stable memory, or at least a type-stable prefix
in every object which is subject to NBS, can go a long way.

(I've seen comments in FreeBSD-6 headers which appear to do that,
but I confess I don't know how far they go.)



TKB to you, too.
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Interrupt, interrupt threads, continuations, and kernel ..., Joerg Sonnenberger, (Thu Feb 22, 5:59 pm)
Re: Interrupt, interrupt threads, continuations, and kernel ..., , (Fri Feb 23, 6:23 pm)
Re: Interrupt, interrupt threads, continuations, and kernel ..., Steven M. Bellovin, (Wed Feb 21, 10:21 pm)
speck-geostationary