From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S943480AbdDTILJ (ORCPT ); Thu, 20 Apr 2017 04:11:09 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:32827 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S943438AbdDTIK7 (ORCPT ); Thu, 20 Apr 2017 04:10:59 -0400 Date: Thu, 20 Apr 2017 10:10:49 +0200 From: Ingo Molnar To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Adrian Hunter , David Ahern , Jean Pihet , Jiri Olsa , Josh Poimboeuf , Namhyung Kim , Wang Nan , Arnaldo Carvalho de Melo Subject: Re: [GIT PULL 00/28] perf/core fixes and cleanups Message-ID: <20170420081049.j7kffxe4ujq7esrd@gmail.com> References: <20170419161723.21011-1-acme@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170419161723.21011-1-acme@kernel.org> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit e720c19e0d5412f45736d62258d21dc7b056c4ad: > > Merge tag 'perf-core-for-mingo-4.12-20170413' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-04-17 10:11:09 +0200) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.12-20170419 > > for you to fetch changes up to 1b5ad16c7aa7177512ce141e345ff36b9f1a6136: > > perf tools: Ditch unused strchrnul() reimplementation (2017-04-19 13:01:57 -0300) > > ---------------------------------------------------------------- > perf/core cleanups: (Arnaldo Carvalho de Melo) > > . Introduce new header files out of the hodge-podge that util/util.h > became, trying to disentangle the includes hell that all C projects > end up growing. This should help in build times, as changes to > seemingly unrelated files (util.h included tons of headers) won't > trigger a rebuild of most object files. > > . Use equivalent facilities found in the kernel source code base > originated tools/include/ header files, such as __stringify(), > ARRAY_SIZE, that has extra checks (__must_be_array()), etc. > > . For that get some more files from the kernel sources, like > include/linux/bug.h, some just with the bits needed at this time. > > . Use the headers where facilities declared in them are used, such > as PRIxu(32,64) macros (inttypes.h), errno defines (errno.h), etc. > > . Remove various leftovers from the initial code base we copied from > git.git: FLEX_ARRAY, etc. > > Signed-off-by: Arnaldo Carvalho de Melo > > ---------------------------------------------------------------- > Arnaldo Carvalho de Melo (28): > perf unwind arm64: Add missing errno.h header > perf tools: Remove FLEX_ARRAY definition > tools include: Introduce linux/bug.h, from the kernel sources > tools include: Adopt __same_type() and __must_be_array() from the kernel > tools include: Move ARRAY_SIZE() to linux/kernel.h > perf tools: Add include where ARRAY_SIZE() is used > objtool: Drop ARRAY_SIZE() definition, tools/include/linux/kernel.h has it now > tools include: Drop ARRAY_SIZE() definition from linux/hashtable.h > perf tools: Remove unused macros from util.h > perf tools: Including missing inttypes.h header > perf tools: Remove PRI[xu] macros from perf.h > perf tools: Replace STR() calls with __stringify() > perf tools: Ditch unused PATH_SEP, STRIP_EXTENSION > perf tools: Move sane ctype stuff from util.h to sane_ctype.h > tools include: Include missing headers for fls() and types in linux/log2.h > perf tools: Move print_binary definitions to separate files > perf tools: Move srcline definitions to separate header > perf tools: Move extra string util functions to util/string2.h > perf tools: Include errno.h where needed > perf str{filter,list}: Disentangle headers > perf tools: Don't include terminal handling headers in util.h > perf tools: Move path related functions to util/path.h > perf tools: No need to include bitops.h in util.h > perf tools: Use api/fs/tracing_path.h where needed > perf tools: Remove misplaced __maybe_unused in some functions > perf tools: Remove include dirent.h from util.h > perf tools: Remove regex.h and fnmatch.h from util.h > perf tools: Ditch unused strchrnul() reimplementation > > tools/include/linux/bug.h | 10 + > tools/include/linux/compiler-gcc.h | 3 + > tools/include/linux/compiler.h | 5 + > tools/include/linux/hashtable.h | 4 - > tools/include/linux/kernel.h | 3 + > tools/include/linux/log2.h | 3 + > tools/lib/symbol/kallsyms.c | 1 + > tools/objtool/builtin-check.c | 3 +- > tools/objtool/objtool.c | 3 +- > tools/perf/MANIFEST | 1 + > tools/perf/arch/arm/util/dwarf-regs.c | 4 +- > tools/perf/arch/arm64/util/dwarf-regs.c | 4 +- > tools/perf/arch/arm64/util/unwind-libunwind.c | 2 +- > tools/perf/arch/common.c | 2 + > tools/perf/arch/powerpc/util/dwarf-regs.c | 5 +- > tools/perf/arch/powerpc/util/kvm-stat.c | 1 + > tools/perf/arch/powerpc/util/perf_regs.c | 1 + > tools/perf/arch/s390/util/kvm-stat.c | 1 + > tools/perf/arch/x86/tests/intel-cqm.c | 1 + > tools/perf/arch/x86/tests/perf-time-to-tsc.c | 2 + > tools/perf/arch/x86/util/auxtrace.c | 1 + > tools/perf/arch/x86/util/intel-bts.c | 1 + > tools/perf/arch/x86/util/intel-pt.c | 1 + > tools/perf/arch/x86/util/kvm-stat.c | 1 + > tools/perf/arch/x86/util/perf_regs.c | 1 + > tools/perf/bench/mem-functions.c | 1 + > tools/perf/bench/numa.c | 2 + > tools/perf/builtin-annotate.c | 1 + > tools/perf/builtin-buildid-cache.c | 1 + > tools/perf/builtin-buildid-list.c | 1 + > tools/perf/builtin-c2c.c | 2 + > tools/perf/builtin-diff.c | 2 + > tools/perf/builtin-ftrace.c | 2 + > tools/perf/builtin-help.c | 6 +- > tools/perf/builtin-inject.c | 1 + > tools/perf/builtin-kallsyms.c | 1 + > tools/perf/builtin-kmem.c | 5 + > tools/perf/builtin-kvm.c | 4 + > tools/perf/builtin-lock.c | 3 + > tools/perf/builtin-mem.c | 1 + > tools/perf/builtin-record.c | 2 + > tools/perf/builtin-report.c | 4 +- > tools/perf/builtin-sched.c | 5 + > tools/perf/builtin-script.c | 8 + > tools/perf/builtin-stat.c | 5 + > tools/perf/builtin-timechart.c | 4 +- > tools/perf/builtin-top.c | 3 + > tools/perf/builtin-trace.c | 8 + > tools/perf/perf.c | 12 +- > tools/perf/tests/attr.c | 2 + > tools/perf/tests/backward-ring-buffer.c | 1 + > tools/perf/tests/bpf.c | 2 + > tools/perf/tests/builtin-test.c | 2 + > tools/perf/tests/clang.c | 1 + > tools/perf/tests/code-reading.c | 6 +- > tools/perf/tests/dso-data.c | 2 + > tools/perf/tests/dwarf-unwind.c | 1 + > tools/perf/tests/event-times.c | 2 + > tools/perf/tests/evsel-roundtrip-name.c | 2 + > tools/perf/tests/hists_common.c | 2 + > tools/perf/tests/hists_cumulate.c | 1 + > tools/perf/tests/hists_filter.c | 1 + > tools/perf/tests/hists_link.c | 2 + > tools/perf/tests/hists_output.c | 1 + > tools/perf/tests/is_printable_array.c | 3 +- > tools/perf/tests/mmap-basic.c | 3 + > tools/perf/tests/mmap-thread-lookup.c | 2 + > tools/perf/tests/openat-syscall-all-cpus.c | 6 + > tools/perf/tests/openat-syscall-tp-fields.c | 1 + > tools/perf/tests/openat-syscall.c | 5 + > tools/perf/tests/parse-events.c | 5 +- > tools/perf/tests/parse-no-sample-id-all.c | 1 + > tools/perf/tests/perf-record.c | 2 + > tools/perf/tests/pmu.c | 2 + > tools/perf/tests/sample-parsing.c | 2 + > tools/perf/tests/sdt.c | 1 + > tools/perf/tests/sw-clock.c | 2 + > tools/perf/tests/switch-tracking.c | 1 + > tools/perf/tests/task-exit.c | 1 + > tools/perf/tests/unit_number__scnprintf.c | 1 + > tools/perf/tests/vmlinux-kallsyms.c | 1 + > tools/perf/ui/browser.c | 2 + > tools/perf/ui/browsers/annotate.c | 3 + > tools/perf/ui/browsers/header.c | 2 + > tools/perf/ui/browsers/hists.c | 8 + > tools/perf/ui/browsers/map.c | 2 + > tools/perf/ui/gtk/annotate.c | 2 +- > tools/perf/ui/gtk/hists.c | 1 + > tools/perf/ui/hist.c | 1 + > tools/perf/ui/setup.c | 1 + > tools/perf/ui/stdio/hist.c | 4 +- > tools/perf/ui/tui/setup.c | 1 + > tools/perf/util/Build | 1 + > tools/perf/util/annotate.c | 6 + > tools/perf/util/auxtrace.c | 6 +- > tools/perf/util/auxtrace.h | 1 + > tools/perf/util/bpf-loader.c | 3 + > tools/perf/util/bpf-loader.h | 2 + > tools/perf/util/bpf-prologue.c | 1 + > tools/perf/util/bpf-prologue.h | 2 + > tools/perf/util/build-id.c | 9 +- > tools/perf/util/build-id.h | 4 +- > tools/perf/util/c++/clang-c.h | 1 + > tools/perf/util/callchain.c | 1 + > tools/perf/util/cgroup.c | 5 +- > tools/perf/util/cloexec.c | 1 + > tools/perf/util/comm.c | 1 + > tools/perf/util/config.c | 3 + > tools/perf/util/counts.c | 2 + > tools/perf/util/cpumap.c | 3 + > tools/perf/util/ctype.c | 2 +- > tools/perf/util/data-convert-bt.c | 4 + > tools/perf/util/data.c | 1 + > tools/perf/util/debug.c | 4 + > tools/perf/util/demangle-java.c | 2 + > tools/perf/util/drv_configs.c | 1 + > tools/perf/util/dso.c | 4 + > tools/perf/util/dwarf-aux.c | 3 + > tools/perf/util/dwarf-regs.c | 1 + > tools/perf/util/env.c | 1 + > tools/perf/util/event.c | 7 +- > tools/perf/util/evlist.c | 2 + > tools/perf/util/evlist.h | 1 + > tools/perf/util/evsel.c | 4 + > tools/perf/util/evsel_fprintf.c | 2 + > tools/perf/util/header.c | 5 + > tools/perf/util/hist.c | 2 + > tools/perf/util/intel-bts.c | 2 + > tools/perf/util/intel-pt.c | 1 + > tools/perf/util/jitdump.c | 7 +- > tools/perf/util/lzma.c | 1 + > tools/perf/util/machine.c | 8 +- > tools/perf/util/map.c | 2 +- > tools/perf/util/mem-events.c | 1 + > tools/perf/util/ordered-events.c | 2 + > tools/perf/util/parse-events.c | 7 +- > tools/perf/util/path.c | 28 ++- > tools/perf/util/path.h | 9 + > tools/perf/util/perf-hooks.c | 1 + > tools/perf/util/pmu.c | 2 + > tools/perf/util/print_binary.c | 55 +++++ > tools/perf/util/print_binary.h | 28 +++ > tools/perf/util/probe-event.c | 5 + > tools/perf/util/probe-event.h | 7 +- > tools/perf/util/probe-file.c | 3 + > tools/perf/util/probe-file.h | 6 +- > tools/perf/util/probe-finder.c | 3 + > tools/perf/util/probe-finder.h | 2 +- > tools/perf/util/python-ext-sources | 1 + > tools/perf/util/python.c | 1 + > tools/perf/util/quote.c | 1 + > tools/perf/util/record.c | 1 + > tools/perf/util/sane_ctype.h | 51 +++++ > .../perf/util/scripting-engines/trace-event-perl.c | 1 + > .../util/scripting-engines/trace-event-python.c | 2 + > tools/perf/util/session.c | 2 + > tools/perf/util/session.h | 1 + > tools/perf/util/sort.c | 5 + > tools/perf/util/sort.h | 4 +- > tools/perf/util/srcline.c | 2 + > tools/perf/util/srcline.h | 34 +++ > tools/perf/util/stat.c | 2 + > tools/perf/util/strbuf.c | 1 + > tools/perf/util/strfilter.c | 5 +- > tools/perf/util/string.c | 18 +- > tools/perf/util/string2.h | 42 ++++ > tools/perf/util/symbol-elf.c | 3 +- > tools/perf/util/symbol-minimal.c | 1 + > tools/perf/util/symbol.c | 3 + > tools/perf/util/symbol.h | 2 +- > tools/perf/util/term.c | 6 +- > tools/perf/util/thread-stack.c | 1 + > tools/perf/util/thread.c | 2 + > tools/perf/util/thread_map.c | 2 + > tools/perf/util/trace-event-parse.c | 3 +- > tools/perf/util/unwind-libdw.c | 1 + > tools/perf/util/unwind-libunwind-local.c | 2 + > tools/perf/util/util.c | 64 +----- > tools/perf/util/util.h | 249 +-------------------- > tools/perf/util/vdso.c | 2 +- > 180 files changed, 659 insertions(+), 376 deletions(-) > create mode 100644 tools/include/linux/bug.h > create mode 100644 tools/perf/util/path.h > create mode 100644 tools/perf/util/print_binary.c > create mode 100644 tools/perf/util/print_binary.h > create mode 100644 tools/perf/util/sane_ctype.h > create mode 100644 tools/perf/util/srcline.h > create mode 100644 tools/perf/util/string2.h Pulled, thanks a lot Arnaldo! > For this specific pull request the samples/bpf/ was disabled, as 'make headers_install' > is failing with the following error, in this case in fedora:rawhide: > > INSTALL usr/include/uapi/ (0 file) > /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_32.h. Stop. > make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2 > make[1]: Leaving directory '/tmp/build/linux' > make: *** [Makefile:152: sub-make] Error 2 > make: Leaving directory '/git/linux' Beyond this build fix, could we also do a header file synchronization round: Warning: include/uapi/linux/stat.h differs from kernel Warning: arch/x86/include/asm/cpufeatures.h differs from kernel Warning: arch/x86/lib/memcpy_64.S differs from kernel ... so that Linus does not see these warnings when pulling these bits in the merge window? Thanks, Ingo