Messages in this thread | | | From | Xiongwei Song <> | Date | Tue, 27 Apr 2021 11:29:32 +0800 | Subject | Re: [PATCH] mm: append __GFP_COMP flag for trace_malloc |
| |
On Tue, Apr 27, 2021 at 10:54 AM Matthew Wilcox <willy@infradead.org> wrote: > > On Tue, Apr 27, 2021 at 10:43:20AM +0800, Xiongwei Song wrote: > > From: Xiongwei Song <sxwjean@gmail.com> > > > > When calling kmalloc_order, the flags should include __GFP_COMP here, > > so that trace_malloc can trace the precise flags. > > I suppose that depends on your point of view. Correct.
Should we report the > flags used by the caller, or the flags that we used to allocate memory? > And why does it matter? When I capture kmem:kmalloc events on my env with perf: (perf record -p my_pid -e kmem:kmalloc) I got the result below: 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a4ca0000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a4ca4000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a4ca8000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a6f80000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a6f84000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a6f88000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.08% call_site=ffffffff851d0cb0 ptr=0xffff8c04a6f8c000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC 0.07% call_site=ffffffff851d0cb0 ptr=0xffff8c04a4c80000 bytes_req=10176 bytes_alloc=16384 gfp_flags=GFP_ATOMIC|__GFP_NOWARN|__GFP_NOMEMALLOC
The value of gfp_flags made me confused, I spent some time to find out which trace_malloc is here. So I think we should append __GFP_COMP.
Regards
| |