Recording allocation location for blocks of memory?

From: Paul E. McKenney
Date: Tue Oct 27 2020 - 13:59:32 EST


Hello!

I have vague memories of some facility some time some where that recorded
who allocated a given block of memory, but am not seeing anything that
does this at present. The problem is rare enough and the situation
sufficiently performance-sensitive that things like ftrace need not apply,
and the BPF guys suggest that BPF might not be the best tool for this job.

The problem I am trying to solve is that a generic function that detects
reference count underflow that was passed to call_rcu(), and there are
a lot of places where the underlying problem might lie, and pretty much
no information. One thing that could help is something that identifies
which use case the underflow corresponds to.

So, is there something out there (including old patches) that, given a
pointer to allocated memory, gives some information about who allocated
it? Or should I risk further inflaming the MM guys by creating one? ;-)

Thanx, Paul