Using Instruction Pointer address in debug interfaces [Was: Re:
vm_page_t related KBI [Was: Re: panic at vm_page_wire with FreeBSD
9.0 Beta 3]]
lacombar at gmail.com
Wed Nov 9 01:03:25 UTC 2011
On Tue, Nov 8, 2011 at 7:08 PM, Julian Elischer <julian at freebsd.org> wrote:
> On 11/8/11 10:49 AM, Arnaud Lacombe wrote:
>> To avoid future complaints about the fact that I would be only "talk"
>> without "action", I did implement what I suggested above. As it is
>> quite a large patch-set, I will not post it directly here, however, it
>> is available on github:
>> It convert a bunch of debug interface to use the caller instruction
>> pointer, as well as a proof-of-concept teaching printf(9) to convert
>> IP to symbol_name+offset.
>> It translates in a direct saving of about +250kB on i386's GENERIC,
>> just in kernel text size. Even the worst case, ie LOCK_DEBUG == 0,
>> translates to a save of +80kB.
>> Please note that this is still WIP code.
> A couple of comments.
> Firstly, the idea of a printf method to print the IP as symbol+offset is an
> interesting idea
> that should be followed up in its own right.
> However, (comment 2) I would much rather file+line in this case.
> I don't want to have the tools to decode the offset into a location in
this already exists and is called "debug symbols"
> We have both systems in operation art work and I far prefer the latter.
More information about the freebsd-current