Date: Tue, 08 Nov 2011 16:08:09 -0800 From: Julian Elischer <julian@freebsd.org> To: Arnaud Lacombe <lacombar@gmail.com> Cc: "K. Macy" <kmacy@freebsd.org>, Alan Cox <alc@rice.edu>, Andriy Gapon <avg@freebsd.org>, Attilio Rao <attilio@freebsd.org>, freebsd-current@freebsd.org, Benjamin Kaduk <kaduk@mit.edu>, Kostik Belousov <kostikbel@gmail.com>, Penta Upa <bsdboot@gmail.com> Subject: Re: 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]] Message-ID: <4EB9C469.9070208@freebsd.org> In-Reply-To: <CACqU3MU_Bk%2BcObCiUa2XtM7fLkSpSDzOZqoZ=khNOR-_6ptYYQ@mail.gmail.com> References: <CACqU3MU_Bk%2BcObCiUa2XtM7fLkSpSDzOZqoZ=khNOR-_6ptYYQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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: > > https://github.com/lacombar/freebsd/tree/master/topic/kern-lock-debug > > 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. We have both systems in operation art work and I far prefer the latter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EB9C469.9070208>