1. 12 Jul, 2013 1 commit
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo' of... · c3a1b0cb
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
      
       * Fix some freeing bugs on the parsing error paths, from Adrian Hunter.
      
       * Update symbol_conf.nr_events when processing attribute events, fix from Adrian Hunter.
      
       * Fix missing increment in sample parsing when PERF_SAMPLE_STACK_USER
         is present, from Adrian Hunt.
      
       * Fix count parameter to read call in event_format__new, from David Ahern.
      
       * Remove -A/--append option, not working for a long time, from Jiri Olsa.
      
       * Remove -f/--force option, was a no-op for quite some time, from Jiri Olsa.
      
       * Fix -x/--exclude-other option for report command, from Jiri Olsa.
      
       * Cross build fixes, at least one for Android, from Joonsoo Kim.
      
       * Fix memory allocation fail check in mem{set,cpy} 'perf bench' workloads,
         from Kirill A. Shutemov.
      
       * Revert regression in configuration of Python support, from Michael Witten.
      
       * Fix -ldw/-lelf link test when static linking, from Mike Frysinger.
      
       * Fix issues with multiple children processing in perf_evlist__start_workload(),
         from Namhyung Kim.
      
       * Fix broken include in Context.xs ('perf script'), from Ramkumar Ramachandra.
      
       * Fixes for build problems, from Robert Richter.
      
       * Fix a typo of a Power7 event name, from Runzhen Wang.
      
       * Avoid sending SIGTERM to random processes in 'perf stat', fix from Stephane Eranian.
      
       * Fix per-socket output bug for uncore events in 'perf stat', from Stephane Eranian.
      
       * Fix vdso list searching, from Waiman Long.
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      c3a1b0cb
  2. 10 Jul, 2013 2 commits
    • Ramkumar Ramachandra's avatar
      perf script: Fix broken include in Context.xs · 750ade7e
      Ramkumar Ramachandra authored
      765532c8 (perf script: Finish the rename from trace to script,
      2010-12-23) made a mistake during find-and-replace replacing
      "../../../util/trace-event.h" with "../../../util/script-event.h", a
      non-existent file.  Fix this include.
      Signed-off-by: default avatarRamkumar Ramachandra <artagnon@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lkml.kernel.org/r/1373364033-7918-3-git-send-email-artagnon@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      750ade7e
    • Mike Frysinger's avatar
      perf tools: Fix -ldw/-lelf link test when static linking · d14c4965
      Mike Frysinger authored
      Since libelf sometimes uses libpthread, we have to list that after -lelf
      when someone tries to build statically.  Else things go boom:
      
      Makefile:479: *** No libelf.h/libelf found, please install \
      	libelf-dev/elfutils-libelf-devel.  Stop.
      
      Similarly, the -ldw test fails as it often uses -lz:
      
      Makefile:462: No libdw.h found or old libdw.h found or elfutils is older \
      	than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
      
      And if we add debugging to try-cc, we see:
      + echo '#include <dwarf.h>
      
      int main(void)
      {
              Dwarf *dbg = dwarf_begin(0, DWARF_C_READ);
              return (long)dbg;
      }'
      + i686-pc-linux-gnu-gcc -x c - -O2 -pipe -march=atom -mtune=atom -mfpmath=sse -g \
      	-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \
      	-ldw -lelf -static -lpthread -lrt -lelf -lm -o .24368
      /usr/lib/libdw.a(dwarf_begin_elf.o):function check_section.isra.1: error: undefined reference to 'inflateInit_'
      /usr/lib/libdw.a(dwarf_begin_elf.o):function check_section.isra.1: error: undefined reference to 'inflate'
      /usr/lib/libdw.a(dwarf_begin_elf.o):function check_section.isra.1: error: undefined reference to 'inflateReset'
      /usr/lib/libdw.a(dwarf_begin_elf.o):function check_section.isra.1: error: undefined reference to 'inflateEnd'
      
      + echo '#include <libelf.h>
      
      int main(void)
      {
              Elf *elf = elf_begin(0, ELF_C_READ, 0);
              return (long)elf;
      }'
      + i686-pc-linux-gnu-gcc -x c - -O2 -pipe -march=atom -mtune=atom -mfpmath=sse -g \
      	-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE \
      	-static -lpthread -lrt -lelf -lm -o .19216
      /usr/lib/libelf.a(elf_begin.o):function file_read_elf: error: undefined reference to 'pthread_rwlock_init'
      /usr/lib/libelf.a(elf_begin.o):function __libelf_read_mmaped_file: error: undefined reference to 'pthread_rwlock_init'
      /usr/lib/libelf.a(elf_begin.o):function __libelf_read_mmaped_file: error: undefined reference to 'pthread_rwlock_init'
      /usr/lib/libelf.a(elf_begin.o):function read_file: error: undefined reference to 'pthread_rwlock_init'
      /usr/lib/libelf.a(elf_begin.o):function lock_dup_elf.8072: error: undefined reference to 'pthread_rwlock_unlock'
      /usr/lib/libelf.a(elf_begin.o):function lock_dup_elf.8072: error: undefined reference to 'pthread_rwlock_wrlock'
      /usr/lib/libelf.a(elf_begin.o):function elf_begin: error: undefined reference to 'pthread_rwlock_rdlock'
      /usr/lib/libelf.a(elf_begin.o):function elf_begin: error: undefined reference to 'pthread_rwlock_unlock'
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1368073064-18276-1-git-send-email-vapier@gentoo.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d14c4965
  3. 09 Jul, 2013 1 commit
    • Michael Witten's avatar
      perf tools: Revert regression in configuration of Python support · a363a9da
      Michael Witten authored
      Among other things, the following:
      
        commit 31160d7f
        Date:   Tue Jan 8 16:22:36 2013 -0500
        perf tools: Fix GNU make v3.80 compatibility issue
      
      attempts to aid the user by tapping into an existing error message,
      as described in the commit message:
      
        ... Also fix an issue where _get_attempt was called with only
        one argument. This prevented the error message from printing
        the name of the variable that can be used to fix the problem.
      
      or more precisely:
      
        -$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2)))
        +$(if $($(1)),$(call _ge_attempt,$($(1)),$(1)),$(call _ge_attempt,$(2),$(1)))
      
      However, The "missing" argument was in fact missing on purpose; it's
      absence is a signal that the error message should be skipped, because
      the failure would be due to the default value, not any user-supplied
      value.  This can be seen in how `_ge_attempt' uses `gea_err' (in the
      config/utilities.mak file):
      
        _ge_attempt = $(if $(get-executable),$(get-executable),$(_gea_warn)$(call _gea_err,$(2)))
        _gea_warn = $(warning The path '$(1)' is not executable.)
        _gea_err  = $(if $(1),$(error Please set '$(1)' appropriately))
      
      That is, because the argument is no longer missing, the value `$(1)'
      (associated with `_gea_err') always evaluates to true, thus always
      triggering the error condition that is meant to be reserved for
      only the case when a user explicitly supplies an invalid value.
      
      Concretely, the result is a regression in the Makefile's configuration
      of python support; rather than gracefully disable support when the
      relevant executables cannot be found according to default values, the
      build process halts in error as though the user explicitly supplied
      the values.
      
      This new commit simply reverts the offending one-line change.
      Reported-by: default avatarPekka Enberg <penberg@kernel.org>
      Link: http://lkml.kernel.org/r/CAOJsxLHv17Ys3M7P5q25imkUxQW6LE_vABxh1N3Tt7Mv6Ho4iw@mail.gmail.comSigned-off-by: default avatarMichael Witten <mfwitten@gmail.com>
      a363a9da
  4. 08 Jul, 2013 20 commits
  5. 05 Jul, 2013 2 commits
  6. 02 Jul, 2013 14 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c6809ff
      Linus Torvalds authored
      Pull x86 UV update from Ingo Molnar:
       "There's a single commit in this tree, which adds support for a new SGI
        UV GRU (Global Reference Unit - fast NUMA messaging ASIC) hardware
        feature to scale up and beyond: an optional distributed mode that will
        allow per-node address mapping of local GRU space, as opposed to
        mapping all GRU hardware to the same contiguous high space"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/UV: Add GRU distributed mode mappings
      7c6809ff
    • Linus Torvalds's avatar
      Merge branch 'x86-tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 96a3d998
      Linus Torvalds authored
      Pull x86 tracing updates from Ingo Molnar:
       "This tree adds IRQ vector tracepoints that are named after the handler
        and which output the vector #, based on a zero-overhead approach that
        relies on changing the IDT entries, by Seiji Aguchi.
      
        The new tracepoints look like this:
      
         # perf list | grep -i irq_vector
          irq_vectors:local_timer_entry                      [Tracepoint event]
          irq_vectors:local_timer_exit                       [Tracepoint event]
          irq_vectors:reschedule_entry                       [Tracepoint event]
          irq_vectors:reschedule_exit                        [Tracepoint event]
          irq_vectors:spurious_apic_entry                    [Tracepoint event]
          irq_vectors:spurious_apic_exit                     [Tracepoint event]
          irq_vectors:error_apic_entry                       [Tracepoint event]
          irq_vectors:error_apic_exit                        [Tracepoint event]
         [...]"
      
      * 'x86-tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tracing: Add config option checking to the definitions of mce handlers
        trace,x86: Do not call local_irq_save() in load_current_idt()
        trace,x86: Move creation of irq tracepoints from apic.c to irq.c
        x86, trace: Add irq vector tracepoints
        x86: Rename variables for debugging
        x86, trace: Introduce entering/exiting_irq()
        tracing: Add DEFINE_EVENT_FN() macro
      96a3d998
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3045f94a
      Linus Torvalds authored
      Pull x86 RAS update from Ingo Molnar:
       "The changes in this tree are:
      
         - ACPI APEI (ACPI Platform Error Interface) improvements, by Chen
           Gong
         - misc MCE fixes/cleanups"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Update MCE severity condition check
        mce: acpi/apei: Add comments to clarify usage of the various bitfields in the MCA subsystem
        ACPI/APEI: Update einj documentation for param1/param2
        ACPI/APEI: Add parameter check before error injection
        ACPI, APEI, EINJ: Fix error return code in einj_init()
        x86, mce: Fix "braodcast" typo
      3045f94a
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 52e8ad90
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Two changes:
      
         - A Kconfig dependency fix/cleanup
      
         - Introduce the 'make kvmconfig' KVM configuration helper utility
           that turns the current .config into a KVM-bootable config.  Useful
           for debugging specific native kernel configs that have no KVM
           config options enabled on VM setups."
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform: Make X86_GOLDFISH depend on X86_EXTENDED_PLATFORM
        x86/platform: Add kvmconfig to the phony targets
        x86, platform, kvm, kconfig: Turn existing .config's into KVM-capable configs
      52e8ad90
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1982269a
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "Misc improvements:
      
         - Fix /proc/mtrr reporting
         - Fix ioremap printout
         - Remove the unused pvclock fixmap entry on 32-bit
         - misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ioremap: Correct function name output
        x86: Fix /proc/mtrr with base/size more than 44bits
        ix86: Don't waste fixmap entries
        x86/mm: Drop unneeded include <asm/*pgtable, page*_types.h>
        x86_64: Correct phys_addr in cleanup_highmap comment
      1982269a
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fdd78889
      Linus Torvalds authored
      Pull x86 microcode loading update from Ingo Molnar:
       "Two main changes that improve microcode loading on AMD CPUs:
      
         - Add support for all-in-one binary microcode files that concatenate
           the microcode images of multiple processor families, by Jacob Shin
      
         - Add early microcode loading (embedded in the initrd) support, also
           by Jacob Shin"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode, amd: Another early loading fixup
        x86, microcode, amd: Allow multiple families' bin files appended together
        x86, microcode, amd: Make find_ucode_in_initrd() __init
        x86, microcode, amd: Fix warnings and errors on with CONFIG_MICROCODE=m
        x86, microcode, amd: Early microcode patch loading support for AMD
        x86, microcode, amd: Refactor functions to prepare for early loading
        x86, microcode: Vendor abstract out save_microcode_in_initrd()
        x86, microcode, intel: Correct typo in printk
      fdd78889
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d652df0b
      Linus Torvalds authored
      Pull x86 FPU changes from Ingo Molnar:
       "There are two bigger changes in this tree:
      
         - Add an [early-use-]safe static_cpu_has() variant and other
           robustness improvements, including the new X86_DEBUG_STATIC_CPU_HAS
           configurable debugging facility, motivated by recent obscure FPU
           code bugs, by Borislav Petkov
      
         - Reimplement FPU detection code in C and drop the old asm code, by
           Peter Anvin."
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, fpu: Use static_cpu_has_safe before alternatives
        x86: Add a static_cpu_has_safe variant
        x86: Sanity-check static_cpu_has usage
        x86, cpu: Add a synthetic, always true, cpu feature
        x86: Get rid of ->hard_math and all the FPU asm fu
      d652df0b
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d6f843a
      Linus Torvalds authored
      Pull x86 EFI changes from Ingo Molnar:
       "Two fixes that should in principle increase robustness of our
        interaction with the EFI firmware, and a cleanup"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, efi: retry ExitBootServices() on failure
        efi: Convert runtime services function ptrs
        UEFI: Don't pass boot services regions to SetVirtualAddressMap()
      4d6f843a
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 55a0d3ff
      Linus Torvalds authored
      Pull x86 debug update from Ingo Molnar:
       "Misc debuggability improvements:
      
         - Optimize the x86 CPU register printout a bit
         - Expose the tboot TXT log via debugfs
         - Small do_debug() cleanup"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tboot: Provide debugfs interfaces to access TXT log
        x86: Remove weird PTR_ERR() in do_debug
        x86/debug: Only print out DR registers if they are not power-on defaults
      55a0d3ff
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35c23d5d
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "Two changes:
      
         - Extend 32-bit double fault debugging aid to 64-bit
         - Fix a build warning"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/cacheinfo: Shut up last long-standing warning
        x86: Extend #DF debugging aid to 64-bit
      35c23d5d
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 57935b26
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc x86 cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, reloc: Use xorl instead of xorq in relocate_kernel_64.S
        x86, cleanups: Remove extra tab in __flush_tlb_one()
        x86/mce: Remove check for CONFIG_X86_MCE_P4THERMAL
      57935b26
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5f16a8cf
      Linus Torvalds authored
      Pull x86 boot build fix from Ingo Molnar:
       "Small fixlet for the build process"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Close opened file descriptor
      5f16a8cf
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 002e44bf
      Linus Torvalds authored
      Pull asm/x86 changes from Ingo Molnar:
       "Misc changes, with a bigger processor-flags cleanup/reorganization by
        Peter Anvin"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, asm, cleanup: Replace open-coded control register values with symbolic
        x86, processor-flags: Fix the datatypes and add bit number defines
        x86: Rename X86_CR4_RDWRGSFS to X86_CR4_FSGSBASE
        x86, flags: Rename X86_EFLAGS_BIT1 to X86_EFLAGS_FIXED
        linux/const.h: Add _BITUL() and _BITULL()
        x86/vdso: Convert use of typedef ctl_table to struct ctl_table
        x86: __force_order doesn't need to be an actual variable
      002e44bf
    • Linus Torvalds's avatar
      Merge branch 'sched-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e13053f5
      Linus Torvalds authored
      Pull voluntary preemption fixes from Ingo Molnar:
       "This tree contains a speedup which is achieved through better
        might_sleep()/might_fault() preemption point annotations for uaccess
        functions, by Michael S Tsirkin:
      
        1. The only reason uaccess routines might sleep is if they fault.
           Make this explicit for all architectures.
      
        2. A voluntary preemption point in uaccess functions means compiler
           can't inline them efficiently, this breaks assumptions that they
           are very fast and small that e.g.  net code seems to make.  Remove
           this preemption point so behaviour matches with what callers
           assume.
      
        3. Accesses (e.g through socket ops) to kernel memory with KERNEL_DS
           like net/sunrpc does will never sleep.  Remove an unconditinal
           might_sleep() in the might_fault() inline in kernel.h (used when
           PROVE_LOCKING is not set).
      
        4. Accesses with pagefault_disable() return EFAULT but won't cause
           caller to sleep.  Check for that and thus avoid might_sleep() when
           PROVE_LOCKING is set.
      
        These changes offer a nice speedup for CONFIG_PREEMPT_VOLUNTARY=y
        kernels, here's a network bandwidth measurement between a virtual
        machine and the host:
      
         before:
              incoming: 7122.77   Mb/s
              outgoing: 8480.37   Mb/s
      
         after:
              incoming: 8619.24   Mb/s   [ +21.0% ]
              outgoing: 9455.42   Mb/s   [ +11.5% ]
      
        I kept these changes in a separate tree, separate from scheduler
        changes, because it's a mixed MM and scheduler topic"
      
      * 'sched-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        mm, sched: Allow uaccess in atomic with pagefault_disable()
        mm, sched: Drop voluntary schedule from might_fault()
        x86: uaccess s/might_sleep/might_fault/
        tile: uaccess s/might_sleep/might_fault/
        powerpc: uaccess s/might_sleep/might_fault/
        mn10300: uaccess s/might_sleep/might_fault/
        microblaze: uaccess s/might_sleep/might_fault/
        m32r: uaccess s/might_sleep/might_fault/
        frv: uaccess s/might_sleep/might_fault/
        arm64: uaccess s/might_sleep/might_fault/
        asm-generic: uaccess s/might_sleep/might_fault/
      e13053f5