On Mon, 5 Sep 2022 16:42:29 -0400 Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote: > > Haven't tried that yet but will do. Thanks for the reference code! > > Is it really worth the effort of benchmarking tracing API overhead here? > > The main cost of a tracing based approach is going to to be the data structure > for remembering outstanding allocations so that free events can be matched to > the appropriate callsite. Regardless of whether it's done with BFP or by > attaching to the tracepoints directly, that's going to be the main overhead. The point I was making here is that you do not need your own hooking mechanism. You can get the information directly by attaching to the tracepoint. > > static void my_callback(void *data, unsigned long call_site, > > const void *ptr, struct kmem_cache *s, > > size_t bytes_req, size_t bytes_alloc, > > gfp_t gfp_flags) > > { > > struct my_data_struct *my_data = data; > > > > { do whatever } > > } The "do whatever" is anything you want to do. Or is the data structure you create with this approach going to be too much overhead? How hard is it for a hash or binary search lookup? -- Steve