linux/tools/perf
Arnaldo Carvalho de Melo b200a84e6b perf header: Fixup reading of HEADER_NRCPUS feature
commit caa470475d upstream.

The original patch introducing this header wrote the number of CPUs available
and online in one order and then swapped those values when reading, fix it.

Before:

  # perf record usleep 1
  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 4
  # nrcpus avail : 4
  # echo 0 > /sys/devices/system/cpu/cpu2/online
  # perf record usleep 1
  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 4
  # nrcpus avail : 3
  # echo 0 > /sys/devices/system/cpu/cpu1/online
  # perf record usleep 1
  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 4
  # nrcpus avail : 2

After the fix, bringing back the CPUs online:

  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 2
  # nrcpus avail : 4
  # echo 1 > /sys/devices/system/cpu/cpu2/online
  # perf record usleep 1
  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 3
  # nrcpus avail : 4
  # echo 1 > /sys/devices/system/cpu/cpu1/online
  # perf record usleep 1
  # perf report --header-only | grep 'nrcpus \(online\|avail\)'
  # nrcpus online : 4
  # nrcpus avail : 4

Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: fbe96f29ce ("perf tools: Make perf.data more self-descriptive (v8)")
Link: http://lkml.kernel.org/r/20150911153323.GP23511@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-10-22 14:37:49 -07:00
..
arch perf tools: Fix build on non-glibc systems due to libio.h absence 2013-03-15 13:05:13 -03:00
bench perf tools: Fix LIBNUMA build with glibc 2.12 and older. 2013-03-14 08:06:21 -03:00
config perf tools: Revert regression in configuration of Python support 2013-08-04 16:51:17 +08:00
Documentation perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
python
scripts perf: net_dropmonitor: Remove progress indicator 2013-05-22 15:10:11 -07:00
tests Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
ui perf tools: Remove cast of non-variadic function to variadic 2013-12-04 10:55:49 -08:00
util perf header: Fixup reading of HEADER_NRCPUS feature 2015-10-22 14:37:49 -07:00
.gitignore
bash_completion
builtin-annotate.c perf tools: Add support for weight v7 (modified) 2013-04-01 12:19:43 -03:00
builtin-bench.c
builtin-buildid-cache.c perf buildid-cache: Add --update option 2013-02-14 14:59:27 -03:00
builtin-buildid-list.c
builtin-diff.c perf tools: Add support for weight v7 (modified) 2013-04-01 12:19:43 -03:00
builtin-evlist.c
builtin-help.c
builtin-inject.c
builtin-kmem.c perf kmem: Make it work again on non NUMA machines 2014-10-05 14:54:14 -07:00
builtin-kvm.c perf tools: Introduce tools/lib/lk library 2013-03-15 13:06:00 -03:00
builtin-list.c
builtin-lock.c
builtin-mem.c perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
builtin-probe.c perf tools: Introduce tools/lib/lk library 2013-03-15 13:06:00 -03:00
builtin-record.c perf tools: Add support for weight v7 (modified) 2013-04-01 12:19:43 -03:00
builtin-report.c perf tools: Remove dependency on libnewt 2013-04-01 12:23:21 -03:00
builtin-sched.c Revert "perf sched: Handle PERF_RECORD_EXIT events" 2013-04-01 12:22:34 -03:00
builtin-script.c
builtin-stat.c perf stat: Add per-core aggregation 2013-03-25 16:13:26 -03:00
builtin-timechart.c
builtin-top.c perf tools: Add support for weight v7 (modified) 2013-04-01 12:19:43 -03:00
builtin-trace.c perf trace: Free evlist resources properly on return path 2013-03-15 13:06:11 -03:00
builtin.h perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
command-list.txt perf tools: Add new mem command for memory access profiling 2013-04-01 12:21:44 -03:00
CREDITS
design.txt
Makefile perf tools: Remove dependency on libnewt 2013-04-01 12:23:21 -03:00
MANIFEST perf tools: Introduce tools/lib/lk library 2013-03-15 13:06:00 -03:00
perf-archive.sh
perf.c perf tools: Convert needless static variable to local 2013-04-01 12:22:48 -03:00
perf.h perf tools: Add support for weight v7 (modified) 2013-04-01 12:19:43 -03:00