Re: [patch] Voluntary Kernel Preemption, 2.6.12-rc4-mm2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Nick Piggin <[email protected]> wrote:

> > (then you must be disagreeing with CONFIG_PREEMPT too to a certain 
> > degree i guess?)
> 
> CONFIG_PREEMPT is different in that it explicitly defines and delimits 
> preempt critical sections, and allows maximum possible preemption 
> (whether or not the critical sections themselves are too big is not 
> really a CONFIG_PREEMPT issue).

from a theoretical POV, this categorization into 'preempt critical' vs.  
'preempt-noncritical' sections is pretty arbitrary too.

from a practical POV the amount of code that is non-preemptible is not 
controllable under CONFIG_PREEMPT. So the end-result is that 
CONFIG_PREEMPT is just as nondeterministic.

polling need_resched after reaching a zero preempt_count() is ugly 
(doing cond_resched() in might_sleep() is ugly too) - pretty much the 
only difference is overhead.

> Jamming in cond_resched in as many places as possible seems to work 
> quite well pragmatically, [...]

yes, and that's what matters. It's just a single #ifdef in kernel.h, and 
at least one major distribution would make use of it because it 
significantly improves soft-RT latencies at a minimal cost. We can 
remove it if it's not being used, but right now the only choice that 
distributions have is no preemption or full-blown CONFIG_PREEMPT. Ask 
the kernel maintainers at SuSE why they havent enabled CONFIG_PREEMPT in 
their kernels.

	Ingo
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux