Messages in this thread |  | | From | Rusty Russell <> | | Subject | Re: [PATCH for 2.5] preemptible kernel | | Date | Sun, 08 Apr 2001 05:59:49 +1000 |
| |
In message <OF37B0793C.6B15F182-ON88256A27.0007C3EF@LocalDomain> you write: > > Priority inversion is not handled in Linux kernel ATM BTW, there > > are already situations where a realtime task can cause a deadlock > > with some lower priority system thread (I believe there is at least > > one case of this known with realtime ntpd on 2.4) > > I see your point here, but need to think about it. One question: > isn't it the case that the alternative to using synchronize_kernel() > is to protect the read side with explicit locks, which will themselves > suppress preemption? If so, why not just suppress preemption on the read > side in preemptible kernels, and thus gain the simpler implementation > of synchronize_kernel()? You are not losing any preemption latency > compared to a kernel that uses traditional locks, in fact, you should > improve latency a bit since the lock operations are more expensive than > are simple increments and decrements. As usual, what am I missing > here? ;-)
Already preempted tasks.
> Another approach would be to define a "really low" priority that noone > other than synchronize_kernel() was allowed to use. Then the UP > implementation of synchronize_kernel() could drop its priority to > this level, yield the CPU, and know that all preempted tasks must > have obtained and voluntarily yielded the CPU before synchronize_kernel() > gets it back again.
Or "never", because I'm running RC5 etc. 8(.
Rusty. -- Premature optmztion is rt of all evl. --DK - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |