mbox series

[0/7] perf tools: Clarify overwrite and backward, bugfix

Message ID 20171113013809.212417-1-wangnan0@huawei.com
Headers show
Series perf tools: Clarify overwrite and backward, bugfix | expand

Message

Wang Nan Nov. 13, 2017, 1:38 a.m. UTC
Based on previous discussion, perf needs to support only two types
of ringbuffer: read-write + forward, readonly + backward. This patchset
completly removes the concept of 'overwrite' from code level, controls
mapping permission using write_backward instead.

Wang Nan (7):
  perf mmap: Fix perf backward recording
  perf tests: Set evlist of test__backward_ring_buffer() to !overwrite
  perf tests: Set evlist of test__sw_clock_freq() to !overwrite
  perf tests: Set evlist of test__basic_mmap() to !overwrite
  perf tests: Set evlist of test__task_exit() to !overwrite
  perf tools: Remove 'overwrite' concept from code level
  perf tools: Remove prot field in mmap param

 tools/perf/arch/x86/tests/perf-time-to-tsc.c |  2 +-
 tools/perf/builtin-kvm.c                     |  2 +-
 tools/perf/builtin-record.c                  |  4 ++--
 tools/perf/builtin-top.c                     |  2 +-
 tools/perf/builtin-trace.c                   |  2 +-
 tools/perf/tests/backward-ring-buffer.c      |  2 +-
 tools/perf/tests/bpf.c                       |  2 +-
 tools/perf/tests/code-reading.c              |  2 +-
 tools/perf/tests/keep-tracking.c             |  2 +-
 tools/perf/tests/mmap-basic.c                |  2 +-
 tools/perf/tests/openat-syscall-tp-fields.c  |  2 +-
 tools/perf/tests/perf-record.c               |  2 +-
 tools/perf/tests/sw-clock.c                  |  2 +-
 tools/perf/tests/switch-tracking.c           |  2 +-
 tools/perf/tests/task-exit.c                 |  2 +-
 tools/perf/util/evlist.c                     | 21 ++++++++++-----------
 tools/perf/util/evlist.h                     |  6 ++----
 tools/perf/util/mmap.c                       | 10 +++++-----
 tools/perf/util/mmap.h                       |  6 +++---
 tools/perf/util/python.c                     | 10 +++++-----
 20 files changed, 41 insertions(+), 44 deletions(-)

-- 
2.10.1

Comments

Liang, Kan Nov. 13, 2017, 2:49 p.m. UTC | #1
> Based on previous discussion, perf needs to support only two types

> of ringbuffer: read-write + forward, readonly + backward. This patchset

> completly removes the concept of 'overwrite' from code level, controls

> mapping permission using write_backward instead.


I think I suggested to remove the concept of backward/forward, keep
the overwrite. That's from user's perspective.
Here you use read-write + forward and readonly + backward, which
should be from kernel 's perspective. It's OK for me either.
However, we should make the concepts connected by clearly documented,
not just in changelog.

I suggest you may create a new file, ringbuffer.txt, in Documentation to
explain, the types of ringbuffer, how do they work, what's connections
between overwrite and readonly + backward, and so on. 


> 

> Wang Nan (7):

>   perf mmap: Fix perf backward recording

>   perf tests: Set evlist of test__backward_ring_buffer() to !overwrite

>   perf tests: Set evlist of test__sw_clock_freq() to !overwrite

>   perf tests: Set evlist of test__basic_mmap() to !overwrite

>   perf tests: Set evlist of test__task_exit() to !overwrite

>   perf tools: Remove 'overwrite' concept from code level

>   perf tools: Remove prot field in mmap param

> 


You had another related fix "perf tool: Don't discard prev in backward
mode" https://lkml.org/lkml/2017/10/12/408
It has not been merged yet. It needs to backport.
I think you may want to add it in this series as well.


Thanks,
Kan

>  tools/perf/arch/x86/tests/perf-time-to-tsc.c |  2 +-

>  tools/perf/builtin-kvm.c                     |  2 +-

>  tools/perf/builtin-record.c                  |  4 ++--

>  tools/perf/builtin-top.c                     |  2 +-

>  tools/perf/builtin-trace.c                   |  2 +-

>  tools/perf/tests/backward-ring-buffer.c      |  2 +-

>  tools/perf/tests/bpf.c                       |  2 +-

>  tools/perf/tests/code-reading.c              |  2 +-

>  tools/perf/tests/keep-tracking.c             |  2 +-

>  tools/perf/tests/mmap-basic.c                |  2 +-

>  tools/perf/tests/openat-syscall-tp-fields.c  |  2 +-

>  tools/perf/tests/perf-record.c               |  2 +-

>  tools/perf/tests/sw-clock.c                  |  2 +-

>  tools/perf/tests/switch-tracking.c           |  2 +-

>  tools/perf/tests/task-exit.c                 |  2 +-

>  tools/perf/util/evlist.c                     | 21 ++++++++++-----------

>  tools/perf/util/evlist.h                     |  6 ++----

>  tools/perf/util/mmap.c                       | 10 +++++-----

>  tools/perf/util/mmap.h                       |  6 +++---

>  tools/perf/util/python.c                     | 10 +++++-----

>  20 files changed, 41 insertions(+), 44 deletions(-)

> 

> --

> 2.10.1