This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] fix alias cache breakage


On Mon, 2008-07-14 at 14:48 -0400, Frank Ch. Eigler wrote:
> Hi -
> 
> On Mon, Jul 14, 2008 at 12:47:55PM -0500, James Bottomley wrote:
> > [...]
> > > I see what you're getting at, but having a single "global" array is
> > > still wrong; it needs to be at least module-indexed.
> > 
> > Not for global declarations.  It's not inconceivable that the only
> > resolution of the structure is in a separate module.  The compiler will
> > drop a DW_AT_declaration if the CU never uses the structure.  Even if an
> > entire module doesn't use the structure, you might still want to use it
> > for debugging. 
> 
> I understand that, but an implicit heuristic like that will not work
> in general.  What we could do is hardcode a "cache miss in a module?
> then search vmlinux - if available".  

Actually, the most likely case for an unresolved symbol is resolution in
another module rather than the kernel.

> Remember, we are about to start
> processing userspace binaries, likely in some shared dwflpp instances.
> So "global" isn't.

Then before you begin to do this, you need a namespace discriminator.
The cache is global to the kernel namespace, so it has to tie in to the
kernel and its modules.

The logical way to do this seems to be one dwflpp per "namespace" (where
a namespace is a set of modules that can link together) but it can be
done in other ways.

I can't seem to find how you were planning to do this in any of the
documentation, so a brief explanation would be helpful.

James



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]