lkml.org 
[lkml]   [2008]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/2] printk vs rq->lock and xtime lock


On Fri, 8 Aug 2008, Peter Zijlstra wrote:
> +
> + local_irq_save(flags);
> + kws = &__get_cpu_var(kws);
> + if (!kws->pending) {
> + call_rcu(&kws->head, __wake_up_klogd);
> + kws->pending = 1;

In case we have a recursive oops in the RCU paths, I'd think we'd be
*much* better off with

if (!kws->pending) {
kws->pending = 1;
call_rcu(&kws->head, __wake_up_klogd);
}

in order to not re-enter the RCU paths again and causing endless oopses
along with list corruption.

Hmm?

Oh, and I don't see the point of the irqsave/restore in __wake_up_klogd().
Or the BUG_ON(), for that matter (even if it ever were to trigger, we'd be
better off _not_ triggering it - I agree with it in a "verifying the new
implementation works at all" sense, but not in a "this is actually for
merging" kind of patch).

Linus


\
 
 \ /
  Last update: 2008-08-08 19:53    [W:0.078 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site