All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>,
	Vinson Lee <vlee@twopensource.com>,
	rostedt@goodmis.org, Jiri Olsa <jolsa@kernel.org>,
	raphael.beamonte@gmail.com, "H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	David Ahern <dsahern@gmail.com>, Ingo Molnar <mingo@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Namhyung Kim <namhyung@kernel.org>,
	linux-tip-commits@vger.kernel.org,
	Michael Petlan <mpetlan@redhat.com>
Subject: Re: [tip:perf/core] tools lib api fs: Remove debugfs, tracefs and findfs objects
Date: Wed, 23 Sep 2015 10:44:56 -0300	[thread overview]
Message-ID: <20150923134456.GD5041@redhat.com> (raw)
In-Reply-To: <20150923083906.GB2024@krava.redhat.com>

Em Wed, Sep 23, 2015 at 10:39:06AM +0200, Jiri Olsa escreveu:
> On Wed, Sep 23, 2015 at 09:23:02AM +0100, Matt Fleming wrote:
> > On Mon, 21 Sep, at 05:20:03PM, Vinson Lee wrote:
> > > This commit seems to have introduced a build failure with tools/vm.
> > > 
> > > $ make -C tools vm
> > > [...]
> > > gcc -Wall -Wextra -I../lib/ -o page-types page-types.c ../lib/api/libapi.a
> > > page-types.c:45:28: fatal error: api/fs/debugfs.h: No such file or directory
> > >  #include <api/fs/debugfs.h>
> > 
> > Given the ferocious pace of development of tools/perf, is there not
> > some kind of automated build that happens when new patches are picked
> > up, before they're pushed out?

> > Things are refactored and changed so fast in this area (I dare say
> > faster than almost any other part of the kernel source tree) that not
> > having the safety net of automated builds just seems suicidal.

Well, I don't want to die, and I work with people that would kill me if
I behaved that way, so I think its not _that_ bad, there are safeguards,
and we're always thinking about adding some more. 8-)

> > And that doesn't even begin to cover runtime testing, since I've
> > noticed things breaking in tools/perf and people not catching it
> > immediately.
> > 
> > Does automated testing exist for perf tools development?
 
> heh, we've been playing game "who first mention it in public will
> implement it" ... you won! ;-)

Nah, you did lotsa already with tools/perf/tests/make

[acme@zoo linux]$ grep ^make tools/perf/tests/make 
make_clean_all      := clean all
make_python_perf_so := python/perf.so
make_debug          := DEBUG=1
make_no_libperl     := NO_LIBPERL=1
make_no_libpython   := NO_LIBPYTHON=1
make_no_scripts     := NO_LIBPYTHON=1 NO_LIBPERL=1
make_no_newt        := NO_NEWT=1
make_no_slang       := NO_SLANG=1
make_no_gtk2        := NO_GTK2=1
make_no_ui          := NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_no_demangle    := NO_DEMANGLE=1
make_no_libelf      := NO_LIBELF=1
make_no_libunwind   := NO_LIBUNWIND=1
make_no_libdw_dwarf_unwind := NO_LIBDW_DWARF_UNWIND=1
make_no_backtrace   := NO_BACKTRACE=1
make_no_libnuma     := NO_LIBNUMA=1
make_no_libaudit    := NO_LIBAUDIT=1
make_no_libbionic   := NO_LIBBIONIC=1
make_no_auxtrace    := NO_AUXTRACE=1
make_tags           := tags
make_cscope         := cscope
make_help           := help
make_doc            := doc
make_perf_o           := perf.o
make_util_map_o       := util/map.o
make_util_pmu_bison_o := util/pmu-bison.o
make_install        := install
make_install_bin    := install-bin
make_install_doc    := install-doc
make_install_man    := install-man
make_install_html   := install-html
make_install_info   := install-info
make_install_pdf    := install-pdf
make_install_prefix       := install prefix=/tmp/krava
make_install_prefix_slash := install prefix=/tmp/krava/
make_static         := LDFLAGS=-static
make_minimal        := NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1
make_minimal        += NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1
NO_BACKTRACE=1
make_minimal        += NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1
make_minimal        += NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1
make_kernelsrc:
make_kernelsrc_tools:
[acme@zoo linux]$ 

This takes a lot of testing, I plan on using TypeChef to speed that up
and increase the number of tests:

https://github.com/ckaestne/TypeChef-LinuxAnalysis/blob/master/README.md

And 'perf test' has 40 tests, with some being really a multiplexor, like
the perf_event_attr ones, that will run the tools and look at how they
set up perf_event_attr for multiple command line options:

[root@zoo ~]# perf test | tail -10
31: Test output sorting of hist entries                      : Ok
32: Test cumulation of child hist entries                    : Ok
33: Test tracking with sched_switch                          : Ok
34: Filter fds with revents mask in a fdarray                : Ok
35: Add fd to a fdarray, making it autogrow                  : Ok
36: Test kmod_path__parse function                           : Ok
37: Test thread map                                          : Ok
38: Test LLVM searching and compiling                        : (skip bpf parsing) Ok
39: Test x86 instruction decoder - new instructions          : Ok
40: Test topology in session                                 : Ok
[root@zoo ~]# 

New stuff normally comes with new 'perf test' entries, Intel PT borrowed
the kernel x86 instruction decoder: added a 'perf test' entry, AFAIK
there was no similar test for it in the kernel proper, IIRC Masami plans
to do it.

The attr one you can look at:

[acme@zoo linux]$ ls -la tools/perf/tests/attr/test-* | wc -l
33
 
> AFAIK we have: 
>   - 'perf test' for perf specific functionality
>   - 'make -f tests/make' for building
>   - build framework tests
> 
> I 'try' to run those before sending anything out, but we dont have
> automated thing that would run it any time Arnaldo push new perf/core.

Well, I do run it in multiple distros, like RHEL5, RHEL6 and RHEL7
besides Fedora 21.

We're getting used to tools/{lib,include}/ so this happened, but
otherwise I don't feel like there are that many problems cropping up as
you seem to think :-\

Of course, in these days of CI, I'd love if someone would hook 'make -C
tools/perf build-test' and 'perf test' somewhere to be run for every
changeset.
 
> The RedHat QE has some more perf tool tests. There was some movement
> to make those public, but not sure how it ended up.. ccing Michael Petlan
> for news on this ;-)

Yeah, this too has helped catch and fix problems.

BTW, tools/vm/ was reported yesterday and a fix is already in
tip/perf/core/:

https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/tools/vm?id=f6489bc2d402c0db84aa64f13b864d17f7eecb07

Age       Commit message (Expand)                                           Author                   Files Lines
12 hours  tools vm: Fix build due to removal of tools/lib/api/fs/debugfs.h  Arnaldo Carvalho de Melo	1  -3/+3

- Arnaldo

  parent reply	other threads:[~2015-09-23 13:45 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-02  7:56 [PATCH 00/15] perf tools: Cleanup filesystem api Jiri Olsa
2015-09-02  7:56 ` [PATCH 01/15] perf tools: Fix parse_events_add_pmu caller Jiri Olsa
2015-09-02 13:00   ` Arnaldo Carvalho de Melo
2015-09-02 13:34     ` Jiri Olsa
2015-09-05 14:00   ` [tip:perf/urgent] " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 02/15] perf tools: Remove mountpoint arg from perf_debugfs_mount Jiri Olsa
2015-09-08 14:32   ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 03/15] perf tools: Move tracing_path stuff under same namespace Jiri Olsa
2015-09-08 14:33   ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 04/15] perf tools: Move tracing_path interface into api/fs/tracing_path.c Jiri Olsa
2015-09-04 11:35   ` Matt Fleming
2015-09-04 13:28     ` Raphaël Beamonte
2015-09-08 14:33   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 05/15] tools lib api: Move debugfs__strerror_open into tracing_path.c object Jiri Olsa
2015-09-02 13:12   ` Arnaldo Carvalho de Melo
2015-09-04 11:36   ` Matt Fleming
2015-09-04 13:41   ` Raphaël Beamonte
2015-09-04 13:48     ` Jiri Olsa
2015-09-04 13:51       ` Raphaël Beamonte
2015-09-08 14:33   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 06/15] tools lib api: Make tracing_path_strerror_open message generic Jiri Olsa
2015-09-02 13:18   ` Arnaldo Carvalho de Melo
2015-09-02 13:44     ` Jiri Olsa
2015-09-02 14:16       ` Arnaldo Carvalho de Melo
2015-09-15  6:59   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 07/15] tools lib api: Add STR and PATH_MAX macros to fs object Jiri Olsa
2015-09-08 14:34   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 08/15] tools lib api: Move SYSFS_MAGIC PROC_SUPER_MAGIC into fs.c Jiri Olsa
2015-09-08 14:34   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 09/15] tools lib api: Add debugfs into fs.c object Jiri Olsa
2015-09-08 14:34   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 10/15] tools lib api: Add tracefs " Jiri Olsa
2015-09-08 14:35   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 11/15] tools lib api: Add mount support for fs Jiri Olsa
2015-09-04 14:14   ` Raphaël Beamonte
2015-09-04 14:20     ` Steven Rostedt
2015-09-04 14:26     ` Jiri Olsa
2015-09-04 14:57       ` Steven Rostedt
2015-09-04 15:00         ` Steven Rostedt
2015-09-04 15:12           ` Raphaël Beamonte
2015-09-08 14:35   ` [tip:perf/core] tools lib api fs: Add FSTYPE__mount() method tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 12/15] tools lib api: Add configured support for fs Jiri Olsa
2015-09-02 13:39   ` Arnaldo Carvalho de Melo
2015-09-02 13:41     ` Arnaldo Carvalho de Melo
2015-09-02 13:46     ` Jiri Olsa
2015-09-02 14:17       ` Arnaldo Carvalho de Melo
2015-09-02 16:52         ` Arnaldo Carvalho de Melo
2015-09-04  7:08           ` Jiri Olsa
2015-09-04 16:42             ` Arnaldo Carvalho de Melo
2015-09-04 17:45               ` Jiri Olsa
2015-09-08 14:35   ` [tip:perf/core] tools lib api fs: Add FSTYPE__configured() method tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 13/15] tools lib api: Replace debugfs/tracefs objects interface with fs.c Jiri Olsa
2015-09-15  6:59   ` [tip:perf/core] tools lib api fs: Replace debugfs/ tracefs " tip-bot for Jiri Olsa
2015-09-02  7:56 ` [PATCH 14/15] tools lib api: Remove debugfs, tracefs and findfs objects Jiri Olsa
2015-09-15  6:59   ` [tip:perf/core] tools lib api fs: " tip-bot for Jiri Olsa
2015-09-22  0:20     ` Vinson Lee
2015-09-22 13:53       ` Arnaldo Carvalho de Melo
2015-09-22 21:29         ` Vinson Lee
2015-09-23  8:23       ` Matt Fleming
2015-09-23  8:39         ` Jiri Olsa
2015-09-23 10:08           ` Matt Fleming
2015-09-24 15:05             ` Michael Petlan
2015-10-07 20:10               ` Matt Fleming
2015-10-13 19:18                 ` Arnaldo Carvalho de Melo
2015-09-23 13:44           ` Arnaldo Carvalho de Melo [this message]
2015-09-23 13:50             ` Jiri Olsa
2015-09-23 13:54               ` Arnaldo Carvalho de Melo
2015-09-24 12:15             ` Matt Fleming
2015-09-24 14:29               ` Arnaldo Carvalho de Melo
2015-09-02  7:56 ` [PATCH 15/15] perf tools: Switch to tracing_path interface on appropriate places Jiri Olsa
2015-09-15  7:00   ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-09-02  8:01 ` [PATCH 00/15] perf tools: Cleanup filesystem api Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150923134456.GD5041@redhat.com \
    --to=acme@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=dsahern@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=matt@codeblueprint.co.uk \
    --cc=mingo@kernel.org \
    --cc=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=raphael.beamonte@gmail.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=vlee@twopensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.