Podsumowanie: Czy perf lock
profil pthread_mutex?Czy przestrzeń użytkownika profilu blokowania perf zablokuje się?
Szczegóły:
Narzędzie perf
posiada opcję perf lock
. Strona człowiek mówi:
You can analyze various lock behaviours and statistics with this perf lock command.
'perf lock record <command>' records lock events
between start and end <command>. And this command
produces the file "perf.data" which contains tracing
results of lock events.
'perf lock trace' shows raw lock events.
'perf lock report' reports statistical data.
Ale kiedy próbowałem działa perf lock record
mam błąd mówiąc: invalid or unsupported event: 'lock:lock_acquire'
. Wyglądałem i wygląda na to, że błąd prawdopodobnie wynika z tego, że moje jądro nie jest skompilowane z CONFIG_LOCKDEP
lub CONFIG_LOCK_STAT
.
Moje pytanie brzmi: czy perf lock
zgłasza zdarzenia związane z blokadami przestrzeni użytkownika (np. Pthread_mutex) lub tylko blokadami jądra? Bardziej interesuje mnie profilowanie aplikacji, które najczęściej działają w przestrzeni użytkownika. Myślałem, że ta opcja w perf wygląda interesująco, ale ponieważ nie mogę jej uruchomić bez kompilowania (lub otrzymywania) nowego jądra, jestem zainteresowany lepszym pomysłem na to, co robi, zanim spróbuję.