lkml.org 
[lkml]   [2003]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [DOCUMENTATION] Revised Unreliable Kernel Locking Guide
On Sat, Dec 13, 2003 at 03:25:52AM +1100, Keith Owens wrote:
> On Fri, 12 Dec 2003 15:44:01 +0000,
> Dave Jones <davej@redhat.com> 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.

And where you want to do the same thing on every processor, there's a
handy on_each_cpu() which takes care of this for you.

Dave

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

\
 
 \ /
  Last update: 2005-03-22 13:59    [W:0.119 / U:0.860 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site