Messages in this thread |  | | Date | Thu, 4 Jan 2001 09:11:18 +0100 | From | Andi Kleen <> | Subject | Re: [PATCH] 2.4.0-prerelease: preemptive kernel. |
| |
On Thu, Jan 04, 2001 at 08:35:02AM +0100, Daniel Phillips wrote: > A more ambitious way to proceed is to change spinlocks so they can sleep > (not in interrupts of course). There would not be any extra overhead
Imagine what happens when a non sleeping spinlock in a interrupt waits for a "sleeping spinlock" somewhere else... I'm not sure if this is a good idea. Sleeping locks everywhere would imply scheduled interrupts, which are nasty.
I think a better way to proceed would be to make semaphores a bit more intelligent and turn them into something like adaptive spinlocks and use them more where appropiate (currently using semaphores usually causes lots of context switches where some could probably be avoided). Problem is that for some cases like your producer-consumer pattern (which has been used previously in unreleased kernel code BTW) it would be a pessimization to spin, so such adaptive locks would probably need a different name.
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |