[lkml]   [2011]   [Sep]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC][PATCH 4/5] printk: Have wake_up_klogd() use __this_cpu_write()
On Mon, 2011-09-19 at 16:54 -0500, Christoph Lameter wrote:
> On Mon, 19 Sep 2011, Steven Rostedt wrote:
> > From: Steven Rostedt <>
> >
> > The wake up code that triggers klogd does not really matter which
> > CPU it enables the wake up on. Every CPU will be doing a printk_tick()
> > and check the current CPU. As long as one of the CPUs triggers the
> > wakeup we are fine. Use __this_cpu_write() instead of this_cpu_write()
> > to show that we do not care.
> printk_needs_cpu() is always called from context where we have disabled
> interrupts therefore this is safe to do.

hehe, the patch is deceiving ;)

@@ -1225,7 +1225,7 @@ int printk_needs_cpu(int cpu)
void wake_up_klogd(void)
if (waitqueue_active(&log_wait))

The printk_needs_cpu may be in the patch header there, but the real
function name happened to be in the call itself. "wake_up_klogd()".
Note, just because something is always in a location that preemption is
disabled, does not mean it should use the __this_cpu*() variants.
Because if things change, it may become a problem later on.

-- Steve

> Reviewed-by: Christoph Lameter <>

 \ /
  Last update: 2011-09-20 01:35    [W:0.176 / U:4.324 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site