Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 6 May 2015 17:47:25 +0000 (10:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 6 May 2015 17:47:25 +0000 (10:47 -0700)
Pull perf fixes from Ingo Molnar:
 "Mostly tooling fixes, but also an uncore PMU driver fix and an uncore
  PMU driver hardware-enablement addition"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf probe: Fix segfault if passed with ''.
  perf report: Fix -T/--threads option to work again
  perf bench numa: Fix immediate meeting of convergence condition
  perf bench numa: Fixes of --quiet argument
  perf bench futex: Fix hung wakeup tasks after requeueing
  perf probe: Fix bug with global variables handling
  perf top: Fix a segfault when kernel map is restricted.
  tools lib traceevent: Fix build failure on 32-bit arch
  perf kmem: Fix compiles on RHEL6/OL6
  tools lib api: Undefine _FORTIFY_SOURCE before setting it
  perf kmem: Consistently use PRIu64 for printing u64 values
  perf trace: Disable events and drain events when forked workload ends
  perf trace: Enable events when doing system wide tracing and starting a workload
  perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver
  perf/x86/intel/uncore: Add support for Intel Haswell ULT (lower power Mobile Processor) IMC uncore PMUs
  perf/x86/intel: Add cpu_(prepare|starting|dying) for core_pmu

1  2 
include/linux/pci_ids.h
tools/lib/traceevent/event-parse.c
tools/perf/util/probe-finder.c

diff --combined include/linux/pci_ids.h
  #define PCI_VENDOR_ID_CENATEK         0x16CA
  #define PCI_DEVICE_ID_CENATEK_IDE     0x0001
  
 +#define PCI_VENDOR_ID_SYNOPSYS                0x16c3
 +
  #define PCI_VENDOR_ID_VITESSE         0x1725
  #define PCI_DEVICE_ID_VITESSE_VSC7174 0x7174
  
  
  #define PCI_VENDOR_ID_INTEL           0x8086
  #define PCI_DEVICE_ID_INTEL_EESSC     0x0008
- #define PCI_DEVICE_ID_INTEL_SNB_IMC   0x0100
- #define PCI_DEVICE_ID_INTEL_IVB_IMC   0x0154
- #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC        0x0150
- #define PCI_DEVICE_ID_INTEL_HSW_IMC   0x0c00
  #define PCI_DEVICE_ID_INTEL_PXHD_0    0x0320
  #define PCI_DEVICE_ID_INTEL_PXHD_1    0x0321
  #define PCI_DEVICE_ID_INTEL_PXH_0     0x0329
@@@ -3865,7 -3865,7 +3865,7 @@@ static void print_str_arg(struct trace_
                        } else if (el_size == 4) {
                                trace_seq_printf(s, "%u", *(uint32_t *)num);
                        } else if (el_size == 8) {
-                               trace_seq_printf(s, "%lu", *(uint64_t *)num);
+                               trace_seq_printf(s, "%"PRIu64, *(uint64_t *)num);
                        } else {
                                trace_seq_printf(s, "BAD SIZE:%d 0x%x",
                                                 el_size, *(uint8_t *)num);
@@@ -4086,7 -4086,7 +4086,7 @@@ static struct print_arg *make_bprint_ar
        if (asprintf(&arg->atom.atom, "%lld", ip) < 0)
                goto out_free;
  
 -      /* skip the first "%pf: " */
 +      /* skip the first "%ps: " */
        for (ptr = fmt + 5, bptr = data + field->offset;
             bptr < data + size && *ptr; ptr++) {
                int ls = 0;
@@@ -456,7 -456,7 +456,7 @@@ static int convert_variable_fields(Dwar
                        return -EINVAL;
                }
                if (field->name[0] == '[') {
 -                      pr_err("Semantic error: %s is not a pointor"
 +                      pr_err("Semantic error: %s is not a pointer"
                               " nor array.\n", varname);
                        return -EINVAL;
                }
@@@ -578,10 -578,12 +578,12 @@@ static int find_variable(Dwarf_Die *sc_
        /* Search child die for local variables and parameters. */
        if (!die_find_variable_at(sc_die, pf->pvar->var, pf->addr, &vr_die)) {
                /* Search again in global variables */
-               if (!die_find_variable_at(&pf->cu_die, pf->pvar->var, 0, &vr_die))
+               if (!die_find_variable_at(&pf->cu_die, pf->pvar->var,
+                                               0, &vr_die)) {
                        pr_warning("Failed to find '%s' in this function.\n",
                                   pf->pvar->var);
                        ret = -ENOENT;
+               }
        }
        if (ret >= 0)
                ret = convert_variable(&vr_die, pf);