android_kernel_google_msm/tools
Arnaldo Carvalho de Melo 98e57bab3f perf header: Fixup reading of HEADER_NRCPUS feature
commit caa470475d9b59eeff093ae650800d34612c4379 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>
[lizf: Backported to 3.4: fix it by saving values in an array and then print
 it in reverse order]
Signed-off-by: Zefan Li <lizefan@huawei.com>
2016-04-27 18:55:19 +08:00
..
firewire
hv tools: hv: Netlink source address validation allows DoS 2013-03-28 12:12:28 -07:00
include/tools tools/include: Add byteshift headers for endian access 2012-02-28 10:22:51 -08:00
lguest lguest: fix occasional crash in example launcher. 2012-10-13 05:38:38 +09:00
nfsd NFSD: Added fault injection script 2011-11-07 21:10:47 -05:00
perf perf header: Fixup reading of HEADER_NRCPUS feature 2016-04-27 18:55:19 +08:00
power turbostat: Use GCC's CPUID functions to support PIC 2014-02-13 11:51:09 -08:00
testing ktest: Fix reboot on success stopping all reboots 2012-05-01 08:25:48 -04:00
usb tools: ffs-test: fix header values endianess 2014-07-09 10:51:21 -07:00
virtio tools/virtio: stub out strong barriers 2012-02-28 09:13:16 +02:00
vm kbuild: install kernel-page-flags.h 2012-06-10 00:36:11 +09:00