Messages in this thread | | | Date | Wed, 5 Nov 2008 11:55:41 +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>: > > 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. > > Thanks for your help! > > I tried the earlyprintk=vga,keep and I thought that the normal printk > output would > be replaced by early_printk output but that's not the case... > So I replaced the content of printk by this of early_printk and it worked. > But it seems that after the setting of the console, the early_printk > doesn't work anymore. > > Should I disable something else? I haven't any console=.... parameter > but I guess I missed > something there...
perhaps try a "console=tty 3" bootup - to boot into non-graphics initlevel 3, and to have a vga tty set up. Then comment out the regular printk(), to make sure it never tries to output to the regular tty.
does earlyprintk=vga,keep work in that case?
> But, I set the parameter nmi_watchdog=2 (I didn't know I had to > start explicitly the nmi watchdog) and at last... I had my > backtraces :-)
heh :-)
> All these backtraces were related to time function. And one of the > special things of the time functions is that they often manipulate > 64 bits numbers. Actually I totally forgot that a function could > return a long long, so I had to save edx register in the return > handler to restore it in its end because 64 bits numbers are > returned as a couple into eax and edx in x86-32. > > So the main problem is now solved. But it remains a last (but more > rare) deadlock somewhere. I don't know why at this time and the nmi > watchdog doesn't tell anything. So I will have to use early_printk > to see the last functions traced. But the problem is that it doesn't > print on the console...
hm. Let me know if you cannot get this to work. I regularly use earlyprintk=serial,...,keep myself, and it works there - but i dont use earlyprintk=vga,keep that often.
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/
| |