Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
In many cases, rwsem can be a culprit for kernel lock contentions. Add rwsem functions to track lock hold/wait time for them. $ sudo klockstat -n 2 -s 3 Tracing mutex/rwsem lock events... Hit Ctrl-C to end ^C Caller Avg Wait Count Max Wait Total Wait mutex_lock+0x5 1422 791 15628 1125030 do_epoll_wait+0x1ce do_epoll_pwait.part.0+0xc Max PID 2441, COMM murdockd Caller Avg Wait Count Max Wait Total Wait mutex_lock+0x5 1699 465 14471 790264 do_epoll_wait+0x1ce __x64_sys_epoll_wait+0x60 Max PID 1864873, COMM svw_NetThreadEv Caller Avg Hold Count Max Hold Total Hold down_read_trylock+0x5 1888876 5 9109738 9444384 trylock_super+0x16 __writeback_inodes_wb+0x8d Max PID 3744442, COMM kworker/u145:6 Caller Avg Hold Count Max Hold Total Hold mutex_lock+0x5 2350695 15 2593128 35260434 bpf_tracing_prog_attach+0x34b bpf_raw_tracepoint_open+0x1c4 Max PID 3748530, COMM klockstat Exiting trace of mutex/rwsem locks
- Loading branch information