Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jul 2014 22:21:56 +0200
From:      Mateusz Guzik <mjguzik@gmail.com>
To:        suresh gumpula <gsuryacse7k@gmail.com>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Re: Allocation/free history
Message-ID:  <20140728202156.GB9781@dft-labs.eu>
In-Reply-To: <CAJOqHmimJcU1HUhF8=JOOj64aY34uQsNvytnS7N1YL=qSx66hQ@mail.gmail.com>
References:  <CAJOqHmgO55L-D0_7zpnC0jFR%2BY1KWBzFwQirPfknhNeHzd0asg@mail.gmail.com> <20140728191950.GA9781@dft-labs.eu> <CAJOqHmimJcU1HUhF8=JOOj64aY34uQsNvytnS7N1YL=qSx66hQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 28, 2014 at 03:37:28PM -0400, suresh gumpula wrote:
> Hi,
>   I am aware of redone(9). I am talking about PC allocation history of
> objects.   Do we have something like that ?
> 

Well, redzone "remembers" allocation and free backtrace, but does not
keep any further history. It is unclear for me if tracking entire
history would be of much benefit (note that mere allocation instruction
pointer is typically not really helpful and keeping bts for everything
would be quite memory consumimg).

> Thanks
> Suresh
> 
> 
> On Mon, Jul 28, 2014 at 3:19 PM, Mateusz Guzik <mjguzik@gmail.com> wrote:
> 
> > 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>
> >

-- 
Mateusz Guzik <mjguzik gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140728202156.GB9781>