lkml.org 
[lkml]   [2008]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: profile_pc() bogus since <= 2.6.19 (x86 at least)?

* Jan Beulich <jbeulich@novell.com> wrote:

> Ingo,
>
> while the comment at the top of kernel/spinlock.c states so:
>
> * Note that some architectures have special knowledge about the
> * stack frames of these functions in their profile_pc. If you
> * change anything significant here that could change the stack
> * frame contact the architecture maintainers.
>
> the actual code doesn't seem to match this anymore. With all (and even
> before that, many) functions being written in C, there cannot be
> validly made assumptions about the stack frame layout. Indeed, if I
> check the disassembly framed by __lock_text_{start,end} on x86, there
> are a number of functions that push one or two registers (in
> lock_kernel() even stack variables are being allocated), which clearly
> breaks profile_pc()'s assumptions.
>
> Since it's been this way for so long, I wonder how frequently this
> code is actually being exercised...

yeah - i guess it's not really relevant anymore now that lockdep saves
full stack traces. I doubt anyone bothers to look at wchan anymore. We
might even remove all the __lock and __sched sections and annotations?

Ingo


\
 
 \ /
  Last update: 2008-03-05 16:39    [W:0.174 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site