Messages in this thread | | | Date | Tue, 4 Nov 2008 13:03:55 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] tracing: use raw spinlocks instead of spinlocks |
| |
* Frédéric Weisbecker <fweisbec@gmail.com> wrote:
> 2008/11/4 Ingo Molnar <mingo@elte.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |