[lkml]   [2008]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] tracing: use raw spinlocks instead of spinlocks
2008/11/4 Ingo Molnar <>:
> 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...

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 :-)

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...

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