On Wed, 2008-01-02 at 21:31 +1100, Nick Piggin wrote: > On Monday 31 December 2007 00:10, Ingo Molnar wrote: > > * Herbert Xu <[EMAIL PROTECTED]> wrote: > > > > Ingo, it's not good that we have cond_resched() definitions > > > > conditionally duplicated in kernel.h - that's increasing the risk of > > > > bugs like this one. > > > > > > Actually, why do we even have cond_resched when real preemption is on? > > > It seems to be a waste of space and time. > > > > due to the BKL. cond_resched() in BKL code breaks up BKL latencies. > > > > i dont mind not doing that though - we should increase the pain for BKL > > users, so that subsystems finally get rid of it altogether. > > lock_kernel() use within the kernel is still rampant - there are still > > more than 400 callsites to lock_kernel(). > > It would be silly to potentially increase latency in some areas > for CONFIG_PREEMPT kernels, though. > > Better may be to detect when there is CONFIG_PREEMPT and > CONFIG_PREEMPT_BKL, and ifdef away the cond_resched in that case > (or -- why do we even make CONFIG_PREEMPT_BKL an option? Are there > really workloads left where it causes throughput regressions?)
I've seen 1s+ desktop latencies due to PREEMPT_BKL when I was still using reiserfs. Both reiserfs and tty were fighting for the bkl and massive prio inversion ensued. Turning PREEMPT_BKL off made the system usable again. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/