Sommario: il profilo perf lock
pthread_mutex?Lo spazio utente del profilo di blocco perfode si modifica?
Dettagli:
Lo strumento perf
ha un'opzione perf lock
. La pagina man dice:
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.
Ma quando ho provato a fare funzionare perf lock record
ho ottenuto un errore che dice: invalid or unsupported event: 'lock:lock_acquire'
. Ho guardato e sembra che l'errore è probabilmente perché il mio kernel non è compilato con CONFIG_LOCKDEP
o CONFIG_LOCK_STAT
.
La mia domanda è: fa perf lock
segnalare eventi relativi a blocchi dello spazio utente (come pthread_mutex) o solo blocchi del kernel? Sono più interessato alla profilazione di applicazioni che funzionano principalmente nello spazio utente. Ho pensato che questa opzione in perf fosse interessante, ma dal momento che non posso eseguirla senza compilare (o ottenere) un nuovo kernel, mi interessa avere un'idea migliore di ciò che fa prima di provare.