* 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]