Re: [DOCUMENTATION] Revised Unreliable Kernel Locking Guide

From: Keith Owens
Date: Fri Dec 12 2003 - 11:28:10 EST


On Fri, 12 Dec 2003 15:44:01 +0000,
Dave Jones <davej@xxxxxxxxxx> wrote:
> Might be worth mentioning in the Per-CPU data section that code doing
>operations on CPU registers (MSRs and the like) needs to be protected
>by an explicit preempt_disable() / preempt_enable() pair if it's doing
>operations that it expects to run on a specific CPU.

Also calls to smp_call_function() need to be wrapped in preempt_disable,
plus any work that is done on the current cpu before/after calling a
function on the other cpus. Lack of preempt disable could result in
the operation being done twice on one cpu and not at all on another.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/