Messages in this thread | | | Date | Tue, 26 Jan 2016 16:26:48 +0800 | From | "Wangnan (F)" <> | Subject | Re: [PATCH 0/5] perf core: Read from overwrite ring buffer |
| |
Hi Peter,
Do you have any further comments about this patchset? What should be the correct route for them to be merged into mainline?
Thank you.
On 2016/1/25 16:33, Wang Nan wrote: > This is the v3 of this series. Compare with v2, tailsize method is > removed, ioctl command PERF_EVENT_IOC_PAUSE_OUTPUT is changed to > _IOW('$', 9, __u32) since it has an input value, commit message > is slightly adjusted. > > New test result on ARM64 is below (x86_64 result is copied from previous > email, test method is described in previous version [1]): > > x86_64 | ARM64 > -----------------------+--------------------- > MEAN STDVAR | MEAN STDVAR > BASE : 879870.81 11913.13 | 808302.67 6951.47 > RAWPERF : 2603854.70 706658.40 | 3461675.12 54075.69 > WRTBKWRD : 2313301.22 6727.96 | 3350177.98 23125.48 > TAILSIZE : 2383051.86 5248.06 | 3556496.56 24802.17 > RAWOVWRT : 2315273.18 5221.03 | 3458767.49 41560.32 > RAWOVWRT*: 2323970.45 5103.39 | 3438967.06 34095.83 > > ARM64 platform is a smartphone with 8 Hisilicon arm64 cores > (big/little). > > Benckmarking result on both architechure support removing tailsize > method because its performance penalty is higher than WRTBKWRD. Also, it > seems we don't need to consider tailheader method (putting whole header > at the end of records, kernel write to the ring buffer from beginning to > end), because the above result shows WRTBKWRD and RAWOVWRT are similar, > and tailheader is impossible to outperform RAWOVWRT in theory. > > [1] http://lkml.kernel.org/g/1453464834-233200-1-git-send-email-wangnan0@huawei.com > > Wang Nan (5): > perf core: Introduce new ioctl options to pause and resume ring buffer > perf core: Set event's default overflow_handler > perf core: Prepare writing into ring buffer from end > perf core: Add backward attribute to perf event > perf core: Reduce perf event output overhead by new overflow handler > > include/linux/perf_event.h | 22 +++++++++++-- > include/uapi/linux/perf_event.h | 4 ++- > kernel/events/core.c | 73 +++++++++++++++++++++++++++++++++++------ > kernel/events/internal.h | 11 +++++++ > kernel/events/ring_buffer.c | 63 +++++++++++++++++++++++++++++++---- > 5 files changed, 153 insertions(+), 20 deletions(-) > > Signed-off-by: Wang Nan <wangnan0@huawei.com> > Cc: He Kuang <hekuang@huawei.com> > Cc: Alexei Starovoitov <ast@kernel.org> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com> > Cc: Brendan Gregg <brendan.d.gregg@gmail.com> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Zefan Li <lizefan@huawei.com> > Cc: pi3orama@163.com >
| |