Thread Migration Preemption
This patch adds the ability to protect critical sections from migration to
another CPU without disabling preemption.
This will be useful to minimize the amount of preemption disabling for the -rt
patch. It will help leveraging improvements brought by the local_t types in
asm/local.h (see Documentation/local_ops.txt). Note that the updates done to
variables protected by migration_disable must be either atomic or protected from
concurrent updates done by other threads.
Typical use:
migration_disable();
local_inc(&__get_cpu_var(&my_local_t_var));
migration_enable();
Which will increment the variable atomically wrt the local CPU.
Comments (such as how to integrate this in the already almost full
preempt_count) are welcome.