Re: is minimum udelay() not respected in preemptible SMP kernel-2.6.23?

Andi Kleen
2007-11-08T01:25:26Z

> But I think we'd be best off stashing a single bit somewhere and
> checking it at migrate time (relatively infrequent) rather than
> copying and zeroing out a potentially enormous affinity mask every
> time we disable migration (often, and in fast paths). Perhaps adding
> TASK_PINNED to the task state flags would do it?

It would need to be a count to be able to nest it.

> > get_cpu() etc. could be changed to use this then too.
>
> Some users of get_cpu might be relying on it to avoid actual
> preemption. In other words, we should have introduced a
> migrate_disable() when we first discovered the preempt/per_cpu
> conflict.

Ok perhaps it would make sense to migrate it step by step :-
define a replacement for get_cpu and migrate over as users are getting
audited and eventually deprecate old one.

-Andi