[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