Messages in this thread | | | From | Yunlong Song <> | Subject | [PATCH] perf record: Add snapshot mode support for perf's regular events | Date | Tue, 24 Nov 2015 22:00:31 +0800 |
| |
This idea is issued and motivated from: https://lwn.net/Articles/650499/
After the first RFC is sent: http://lkml.iu.edu/hypermail/linux/kernel/1509.2/04347.html
Both David Ahern and Borislav Petkov have replied to that RFC: http://lkml.iu.edu/hypermail/linux/kernel/1509.2/04350.html http://lkml.iu.edu/hypermail/linux/kernel/1509.2/03914.html
Thanks to David's and Borislav's advice.
However, David's perf-based scheduling daemon just makes some count when the signal triggers perf sched, with no sample recording and has nothing to do with perf.data. As for Borislav's persistent events, when perf record runs, it just makes fd to attach to the persistent event to read, and all the persistent event's tracing info will still dump to perf.data during perf's running.
As a result, neither David's nor Borislav's patches makes the similar snapshot mode support as what aux trace does.
In our patch, we create and maintain a user space ring buffer to store perf's tracing info, instead of directly writing to perf.data file as before. In snapshot mode, only a SIGUSR2 signal can trigger perf to dump the tracing info currently stored in the user space ring buffer to perf.data file.
Yunlong Song (1): perf record: Add snapshot mode support for perf's regular events
tools/perf/builtin-record.c | 181 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 170 insertions(+), 11 deletions(-)
-- 1.8.5.2
| |