-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libbpf-tools: add futexctn #4669
Conversation
Could you explain how does this tool work, especially the |
Done |
|
@chenhengqi Glibc (pthread) only use |
Hi @chenhengqi @yonghong-song, do you have any other suggestions for modification? |
Similar to other tools, please guard your usage of blazesym with macro USE_BLAZESYM as it may not be available in all systems. |
30be7ea
to
152e304
Compare
@yonghong-song Fixed, thanks! |
Hi @yonghong-song @chenhengqi , sorry to bother you. May I ask if this PR be merged? Is there anything else I need to do? |
Signed-off-by: Wenbo Zhang <[email protected]>
Although systemtap already has a futexes.stp tool, it doesn't feel very easy to use. For example, there are only maximum, minimum and average values, but no delay distribution information. In addition, although the mutex address is behind, there is no call stack information, which is inconvenient to check when you cannot use gdb to attach the process.
This tool identifies lock contention information by filtering futex
FUTEX_WAIT
operations and retrieves the call stack information when entering lock contention. The lock contention counter is partitioned based on the call stack, enabling users to locate all path information involved in this lock contention using the printed lock address, which serves as the basis for optimization.