Thread (40 messages) 40 messages, 8 authors, 2016-02-23

Re: [PATCH v1 5/8] mm, kasan: Stackdepot implementation. Enable stackdepot for SLAB

From: Alexander Potapenko <glider@google.com>
Date: 2016-01-28 12:51:46

On Jan 28, 2016 8:40 AM, "Joonsoo Kim" [off-list ref] wrote:
Hello,

On Wed, Jan 27, 2016 at 07:25:10PM +0100, Alexander Potapenko wrote:
quoted
Stack depot will allow KASAN store allocation/deallocation stack traces
for memory chunks. The stack traces are stored in a hash table and
referenced by handles which reside in the kasan_alloc_meta and
kasan_free_meta structures in the allocated memory chunks.
Looks really nice!

Could it be more generalized to be used by other feature that need to
store stack trace such as tracepoint or page owner?
Certainly yes, but see below.
If it could be, there is one more requirement.
I understand the fact that entry is never removed from depot makes things
very simpler, but, for general usecases, it's better to use reference
count
and allow to remove. Is it possible?
For our use case reference counting is not really necessary, and it would
introduce unwanted contention.
There are two possible options, each having its advantages and drawbacks:
we can let the clients store the refcounters directly in their stacks (more
universal, but harder to use for the clients), or keep the counters in the
depot but add an API that does not change them (easier for the clients, but
potentially error-prone).

I'd say it's better to actually find at least one more user for the stack
depot in order to understand the requirements, and refactor the code after
that.
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help