Messages in this thread | | | From | Wang Nan <> | Subject | [RFC PATCH v2 0/3] perf core/perf tools: Utilizing overwrite ring buffer | Date | Mon, 7 Dec 2015 13:28:34 +0000 |
| |
This patch set explores the idea shown in [1], which puts size of every events at the end of them in ring buffer so user space tool like perf can parse the ring buffer backward and find the oldest event in it.
In this version:
- Kernel side, rename PERF_SAMPLE_SIZE to PERF_SAMPLE_SIZE_AT_END, output 8 bytes to meet the alignment requirement.
- Perf side, provide a prototype utilize this feature. With this prototype users are allowed to capture the last events in an overwrite ring buffer using:
# ./perf record -e dummy -e syscalls:*/overwrite/ ...
[1] http://lkml.kernel.org/g/1449063499-236703-1-git-send-email-wangnan0@huawei.com
Wang Nan (3): perf/core: Put size of a sample at the end of it perf tools: Enable overwrite settings perf record: Find tail pointer through size at end of event
include/uapi/linux/perf_event.h | 3 +- kernel/events/core.c | 9 +++++ tools/perf/builtin-record.c | 76 +++++++++++++++++++++++++++++++++++++++-- tools/perf/perf.h | 2 ++ tools/perf/util/evlist.c | 42 +++++++++++++++++------ tools/perf/util/evsel.c | 7 ++++ tools/perf/util/evsel.h | 3 ++ tools/perf/util/parse-events.c | 14 ++++++++ tools/perf/util/parse-events.h | 4 ++- tools/perf/util/parse-events.l | 2 ++ 10 files changed, 147 insertions(+), 15 deletions(-)
-- 1.8.3.4
| |