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]]

Arnaud Lacombe lacombar at
Wed Nov 9 01:03:25 UTC 2011


On Tue, Nov 8, 2011 at 7:08 PM, Julian Elischer <julian at> wrote:
> On 11/8/11 10:49 AM, Arnaud Lacombe wrote:
>> Hi,
>> 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
> sources.
this already exists and is called "debug symbols"

 - Arnaud

> We have both systems in operation art work and I far prefer the latter.

More information about the freebsd-current mailing list