Date: Mon, 28 Jul 2014 21:19:51 +0200 From: Mateusz Guzik <mjguzik@gmail.com> To: suresh gumpula <gsuryacse7k@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: Allocation/free history Message-ID: <20140728191950.GA9781@dft-labs.eu> In-Reply-To: <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com> References: <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 28, 2014 at 01:40:10PM -0400, suresh gumpula wrote: > Hi, > Knowing the PC of an allocation is very usefull in debugging. Having the > PC hash table and storing the pc hash either with an object itself( at the > end) or allocate an exra structure to hold the > hash index help us find out who/where an object was allocated. We > already have something like this in our own operating system and has been a > useful thing in debugging. > BSD allocator uses power of 2, so storing at the end of an object might be > wasting lot of memory with large objects. > > It appears we don’t have something like this in current FBSD codeline and > would like to work on this ? Any comments please? > > > It would be something like below. 8 bytes at the end of each object has > fecepost which is usefull in finding overwrites and 2 hash indices to the > PC table to track allocation history. > (kgdb-amd64-7.4-87) x/40w 0xffffff153728b038 > 0xffffff153728b038: 0xf6970a05 0x06cb7e0c 0x305a134a > 0x831c18bb > 0xc0000bed 0x134a2115 > > 0xffffff153728b050: 0x85687ef8 0xffffffff 0x00000001 > 0x83192201 > 0xc0000bed 0x1741143b > See redzone(9). -- Mateusz Guzik <mjguzik gmail.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140728191950.GA9781>