[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081104120355.GA19969@elte.hu>
Date: Tue, 4 Nov 2008 13:03:55 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Frédéric Weisbecker <fweisbec@...il.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] tracing: use raw spinlocks instead of spinlocks
* Frédéric Weisbecker <fweisbec@...il.com> wrote:
> 2008/11/4 Ingo Molnar <mingo@...e.hu>:
> > lockdep works via a completely different principle: it instruments all
> > the actual lock acquire/release calls and builds a graph of lock
> > dependencies in the system, as it happens.
> >
> > It also guarantees that all the observed locking rules are followed
> > (i.e. it proves that as long as you dont get any messages from
> > lockdep, all the locking patterns are mathematically safe).
> >
> > So a lockdep message will most of the time occur much easier than a
> > real lockup would occur - as lockdep only needs to observe
> > inconsistent locking patterns to prove that a lockup _could_ occur.
>
>
> Ok, so if there is such an error, I could (hopefully) see it with
> early_printk....
>
>
> > The NMI watchdog just observes the system and complains if it sees
> > hardirqs not progressing (i.e. a hard lockup). It will detect anything
> > that causes a hard lockup. (assuming that the NMI watchdog itself is
> > not locked up)
> >
> > Regarding your lockup ... it's quite hard. Maybe you can get more
> > output out of the system by using:
> >
> > earlyprintk=vga,keep
> >
> > plus disablig regular tty output. (i.e. not passing any 'console=tty'
> > line to the kernel bootup.)
> >
> > this way you wont get any normal printk activities (which might lock
> > up), you should only get the very simple early-printk output.
>
>
>
> Good idea. After reading your mail, I had a look on early_printk and
> it shoudn't cause any tracing recursion after your patch: the
> strings are directly writed to the vga. Great.
just make sure normal printk is totally silent. (otherwise you get
double lines on the console plus no reduction in recursion risk)
i usually add a return; hack to kernel/printk.c:printk(), to make sure
it never executes anything. (and add a notrace to it as well) Maybe we
could even make this dependent on early_printk=...,keep.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists