[RFC PATCH v2 0/3] perf core/perf tools: Utilizing overwrite ring buffer

From: Wang Nan
Date: Mon Dec 07 2015 - 08:30:07 EST


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@xxxxxxxxxx

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/