You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This last patch of the series adds new tracepoint - mmu_vm_stack_fault -
which when enabled allows one to see how particular app triggers
the stack page faults. The tracepoint captures the stack fault address,
the thread id and number of the page (0 being the 1st page).
Please note this does not capture the 1st page of the stack (page_no 0) as this one
pre-faulted by the parent thread that creates a new one.
./scripts/run.py -e /tests/tst-pipe.so --trace=mmu_vm_stack_fault --trace-backtrace -H
./scripts/trace.py extract && ./scripts/trace.py list -bl
0xffff8000016b7040 >init 0 0.002215401 mmu_vm_stack_fault thread=32, addr=0x00002000000ff9d0, page_no=1
mmu::vm_fault(unsigned long, exception_frame*)
page_fault
ex_pf
std_malloc(unsigned long, unsigned long)
malloc
operator new(unsigned long)
do_main_thread(void*)
std::_Function_handler<void (), pthread_private::pthread::pthread(void* (*)(void*), void*, sigset_t, pthread_private::thread_attr const*)::{lambda()#1}>::_M_invoke(std::_Any_data const&) __invoke_impl<void, pthread_private::pthread::pthread(void* (*)(void*), void*, sigset_t, const pthread_private::thread_attr*)::<lambda()>&>__invoke_r<void, pthread_private::pthread::pthread(void* (*)(void*), void*, sigset_t, const pthread_private::thread_attr*)::<lambda()>&> _M_invoke
sched::thread::main()
thread_main_c
...
0xffff8000016b7040 >init 0 0.084799151 mmu_vm_stack_fault thread=32, addr=0x00002000000f8440, page_no=8
mmu::vm_fault(unsigned long, exception_frame*)
page_fault
ex_pf
memory::page_pool::l1::alloc_page()
untracked_alloc_page
memory::alloc_page()
std_malloc(unsigned long, unsigned long)
malloc
operator new(unsigned long)
lookup
sys_lstat
Signed-off-by: Waldemar Kozaczuk <[email protected]>
0 commit comments