[Crash-utility] Re: Fix for source line numbers for x86_64 modules

John Wright (ALPS, Fort Collins) john.wright at hp.com
Thu Sep 24 19:46:51 UTC 2009


On Thu, Sep 24, 2009 at 03:36:16PM -0400, Dave Anderson wrote:
> 
> ----- "John Wright (ALPS, Fort Collins)" <john.wright at hp.com> wrote:
> 
> > >   crash> dis -l register_kprobes
> > >   < never returns > 
> > 
> > I wonder if it would eventually return after minutes or hours?  (Not
> > that this is acceptable - I'm just curious.)
> 
> Anyway, I tried it again, and it came back 6 minutes later,
> so my "never returns" claim was a bit of a exaggeration...
> Sorry about that...
> 
> But stranger still -- I mis-typed the hanging command above.  
> 
> It's takes several minutes to run "dis -l register_kprobe", whereas 
> "dis -l register_kprobes" works OK -- they're both in the same
> neighborhood:
> 
>   ffffffff813af401 (T) register_kprobe  
>   ffffffff813afac4 (T) register_kprobes

I suspect the reason register_kprobe takes so much longer is that it has
way more instructions than register_kprobes.  (The last instruction for
register_kbrobes is 96 bytes from the first, whereas for register_kprobe
it's 1146, on my 2.6.29-based kernel.)  For each instruction, crash is
asking gdb for line number information, so for really long functions,
the slowness with the original patch is exacerbated.

> > > With your new patch (and unpatched for that matter) it works OK.  
> > 
> > Great!  Sorry for the original mess.  It was quick and dirty, and solved
> > the specific problem Bob and I were having.  I think this version is
> > correct, though.
> 
> Queued for the next release.

Great, thanks!

-- 
+----------------------------------------------------------+
| John Wright <john.wright at hp.com>                         |
| HP Mission Critical OS Enablement & Solution Test (MOST) |
+----------------------------------------------------------+




More information about the Crash-utility mailing list