1. 10 Feb, 2014 3 commits
    • Vince Weaver's avatar
      perf list: Fix checking for supported events on older kernels · 88fee52e
      Vince Weaver authored
      "perf list" listing of hardware events doesn't work on older ARM devices.
      The change enabling event detection:
      
       commit b41f1cec
       Author: Namhyung Kim <namhyung.kim@lge.com>
       Date:   Tue Aug 27 11:41:53 2013 +0900
      
           perf list: Skip unsupported events
      
      uses the following code in tools/perf/util/parse-events.c:
      
              struct perf_event_attr attr = {
                      .type = type,
                      .config = config,
                      .disabled = 1,
                      .exclude_kernel = 1,
              };
      
      On ARM machines pre-dating the Cortex-A15 this doesn't work, as these
      machines don't support .exclude_kernel.  So starting with 3.12 "perf
      list" does not report any hardware events at all on older machines (seen
      on Rasp-Pi, Pandaboard, Beagleboard, etc).
      
      This version of the patch makes changes suggested by Namhyung Kim to
      check for EACCESS and retry (instead of just dropping the
      exclude_kernel) so we can properly handle machines where
      /proc/sys/kernel/perf_event_paranoid is set to 2.
      Reported-by: default avatarChad Paradis <chad.paradis@umit.maine.edu>
      Signed-off-by: default avatarVince Weaver <vincent.weaver@maine.edu>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Chad Paradis <chad.paradis@umit.maine.edu>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1312301536150.28814@vincent-weaver-1.um.maine.eduSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      88fee52e
    • Jiri Olsa's avatar
      perf tools: Handle PERF_RECORD_HEADER_EVENT_TYPE properly · f67697bd
      Jiri Olsa authored
      We removed event types from data file in following commits:
      
        6065210d perf tools: Remove event types framework completely
        44b3c578 perf tools: Remove event types from perf data file
      
      We no longer need this information, because we can get it directly from
      tracepoints.
      
      But we still need to handle PERF_RECORD_HEADER_EVENT_TYPE event for the
      sake of old perf data files created in pipe mode like:
      
        $ perf.3.4 record -o - foo >perf.data
        $ perf.312 report -i - < perf.data
      Reported-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1391524668-12546-1-git-send-email-jolsa@redhat.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f67697bd
    • Masami Hiramatsu's avatar
      perf probe: Do not add offset twice to uprobe address · 981a2379
      Masami Hiramatsu authored
      Fix perf-probe not to add offset value twice to uprobe probe address
      when post processing.
      
      The tevs[i].point.address struct member is the address of symbol+offset,
      but current perf-probe adjusts the point.address by adding the offset.
      
      As a result, the probe address becomes symbol+offset+offset. This may
      cause unexpected code corruption. Urgent fix is needed.
      
      Without this fix:
        ---
        # ./perf probe -x ./perf dso__load_vmlinux+4
        # ./perf probe -l
          probe_perf:dso__load_vmlinux (on 0x000000000006d2b8)
        # nm ./perf.orig | grep dso__load_vmlinux\$
        000000000046d0a0 T dso__load_vmlinux
        ---
      
      You can see the given offset is 3 but the actual probed address is
      dso__load_vmlinux+8.
      
      With this fix:
        ---
        # ./perf probe -x ./perf dso__load_vmlinux+4
        # ./perf probe -l
          probe_perf:dso__load_vmlinux (on 0x000000000006d2b4)
        ---
      
      Now the problem is fixed.
      
      Note: This bug is introduced by
      	commit fb7345bbSigned-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: "David A. Long" <dave.long@linaro.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20140205051858.6519.27314.stgit@kbuild-fedora.yrl.intra.hitachi.co.jpSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      981a2379
  2. 09 Feb, 2014 2 commits
  3. 02 Feb, 2014 1 commit
  4. 31 Jan, 2014 10 commits
  5. 29 Jan, 2014 1 commit
  6. 27 Jan, 2014 1 commit
  7. 26 Jan, 2014 1 commit
  8. 25 Jan, 2014 1 commit
  9. 23 Jan, 2014 3 commits
  10. 21 Jan, 2014 1 commit
  11. 20 Jan, 2014 16 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 15c81026
      Linus Torvalds authored
      Pull x32 uapi changes from Peter Anvin:
       "This is the first few of a set of patches by H.J.  Lu to make the
        kernel uapi headers usable for x32, as required by some non-glibc
        libcs.
      
        These particular patches make the stat and statfs structures usable"
      
      * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, x32: Use __kernel_long_t for __statfs_word
        x86, x32: Use __kernel_long_t/__kernel_ulong_t in x86-64 stat.h
      15c81026
    • Linus Torvalds's avatar
      Merge branch 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c9cdd9a6
      Linus Torvalds authored
      Pull x86 cpufeature and mpx updates from Peter Anvin:
       "This includes the basic infrastructure for MPX (Memory Protection
        Extensions) support, but does not include MPX support itself.  It is,
        however, a prerequisite for KVM support for MPX, which I believe will
        be pushed later this merge window by the KVM team.
      
        This includes moving the functionality in
        futex_atomic_cmpxchg_inatomic() into a new function in uaccess.h so it
        can be reused - this will be used by the final MPX patches.
      
        The actual MPX functionality (map management and so on) will be pushed
        in a future merge window, when ready"
      
      * 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/mpx: Remove unused LWP structure
        x86, mpx: Add MPX related opcodes to the x86 opcode map
        x86: replace futex_atomic_cmpxchg_inatomic() with user_atomic_cmpxchg_inatomic
        x86: add user_atomic_cmpxchg_inatomic at uaccess.h
        x86, xsave: Support eager-only xsave features, add MPX support
        x86, cpufeature: Define the Intel MPX feature flag
      c9cdd9a6
    • Linus Torvalds's avatar
      Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4bcd8cc
      Linus Torvalds authored
      Pull x86 kernel address space randomization support from Peter Anvin:
       "This enables kernel address space randomization for x86"
      
      * 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, kaslr: Clarify RANDOMIZE_BASE_MAX_OFFSET
        x86, kaslr: Remove unused including <linux/version.h>
        x86, kaslr: Use char array to gain sizeof sanity
        x86, kaslr: Add a circular multiply for better bit diffusion
        x86, kaslr: Mix entropy sources together as needed
        x86/relocs: Add percpu fixup for GNU ld 2.23
        x86, boot: Rename get_flags() and check_flags() to *_cpuflags()
        x86, kaslr: Raise the maximum virtual address to -1 GiB on x86_64
        x86, kaslr: Report kernel offset on panic
        x86, kaslr: Select random position from e820 maps
        x86, kaslr: Provide randomness functions
        x86, kaslr: Return location from decompress_kernel
        x86, boot: Move CPU flags out of cpucheck
        x86, relocs: Add more per-cpu gold special cases
      f4bcd8cc
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fe67a11
      Linus Torvalds authored
      Pull leftover x86 fixes from Ingo Molnar:
       "Two leftover fixes that did not make it into v3.13"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add check for number of available vectors before CPU down
        x86, cpu, amd: Add workaround for family 16h, erratum 793
      7fe67a11
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fab5669d
      Linus Torvalds authored
      Pull x86 RAS changes from Ingo Molnar:
      
       - SCI reporting for other error types not only correctable ones
      
       - GHES cleanups
      
       - Add the functionality to override error reporting agents as some
         machines are sporting a new extended error logging capability which,
         if done properly in the BIOS, makes a corresponding EDAC module
         redundant
      
       - PCIe AER tracepoint severity levels fix
      
       - Error path correction for the mce device init
      
       - MCE timer fix
      
       - Add more flexibility to the error injection (EINJ) debugfs interface
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, mce: Fix mce_start_timer semantics
        ACPI, APEI, GHES: Cleanup ghes memory error handling
        ACPI, APEI: Cleanup alignment-aware accesses
        ACPI, APEI, GHES: Do not report only correctable errors with SCI
        ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface
        ACPI, eMCA: Combine eMCA/EDAC event reporting priority
        EDAC, sb_edac: Modify H/W event reporting policy
        EDAC: Add an edac_report parameter to EDAC
        PCI, AER: Fix severity usage in aer trace event
        x86, mce: Call put_device on device_register failure
      fab5669d
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 74e8ee82
      Linus Torvalds authored
      Pull Intel SoC changes from Ingo Molnar:
       "Improved Intel SoC platform support"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, tsc, apic: Unbreak static (MSR) calibration when CONFIG_X86_LOCAL_APIC=n
        x86, tsc: Add static (MSR) TSC calibration on Intel Atom SoCs
        arch: x86: New MailBox support driver for Intel SOC's
      74e8ee82
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8bd6964c
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "A cleanup, a fix and ASLR support for hugetlb mappings"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/numa: Fix 32-bit kernel NUMA boot
        x86/mm: Implement ASLR for hugetlb mappings
        x86/mm: Unify pte_to_pgoff() and pgoff_to_pte() helpers
      8bd6964c
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bb2c5e2
      Linus Torvalds authored
      Pull x86 microcode loader updates from Ingo Molnar:
       "There are two main changes in this tree:
      
         - AMD microcode early loading fixes
         - some microcode loader source files reorganization"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode: Move to a proper location
        x86, microcode, AMD: Fix early ucode loading
        x86, microcode: Share native MSR accessing variants
        x86, ramdisk: Export relocated ramdisk VA
      2bb2c5e2
    • Linus Torvalds's avatar
      Merge branch 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4500cf60
      Linus Torvalds authored
      Pull Intel MID updates from Ingo Molnar:
       "This tree improves Intel MID (Mobile Internet Device) platform
        support:
      
         - Merrifield platform support (David Cohen)
         - Clovertrail platform support (Kuppuswamy Sathyanarayanan)
         - Various cleanups and fixes (David Cohen)"
      
      * 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, intel_mid: Replace memcpy with struct assignment
        x86, intel-mid: Return proper error code from get_gpio_by_name()
        x86, intel-mid: Check get_gpio_by_name() error code on platform code
        x86, intel-mid: sfi_handle_*_dev() should check for pdata error code
        x86, intel-mid: Remove deprecated X86_MDFLD and X86_WANT_INTEL_MID configs
        x86, intel-mid: Add Merrifield platform support
        x86, intel-mid: Add Clovertrail platform support
        x86, intel-mid: Move Medfield code out of intel-mid.c core file
      4500cf60
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 972d5e7e
      Linus Torvalds authored
      Pull x86 EFI changes from Ingo Molnar:
       "This consists of two main parts:
      
         - New static EFI runtime services virtual mapping layout which is
           groundwork for kexec support on EFI (Borislav Petkov)
      
         - EFI kexec support itself (Dave Young)"
      
      * 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        x86/efi: parse_efi_setup() build fix
        x86: ksysfs.c build fix
        x86/efi: Delete superfluous global variables
        x86: Reserve setup_data ranges late after parsing memmap cmdline
        x86: Export x86 boot_params to sysfs
        x86: Add xloadflags bit for EFI runtime support on kexec
        x86/efi: Pass necessary EFI data for kexec via setup_data
        efi: Export EFI runtime memory mapping to sysfs
        efi: Export more EFI table variables to sysfs
        x86/efi: Cleanup efi_enter_virtual_mode() function
        x86/efi: Fix off-by-one bug in EFI Boot Services reservation
        x86/efi: Add a wrapper function efi_map_region_fixed()
        x86/efi: Remove unused variables in __map_region()
        x86/efi: Check krealloc return value
        x86/efi: Runtime services virtual mapping
        x86/mm/cpa: Map in an arbitrary pgd
        x86/mm/pageattr: Add last levels of error path
        x86/mm/pageattr: Add a PUD error unwinding path
        x86/mm/pageattr: Add a PTE pagetable populating function
        x86/mm/pageattr: Add a PMD pagetable populating function
        ...
      972d5e7e
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5d4863e4
      Linus Torvalds authored
      Pull x86 TLB detection update from Ingo Molnar:
       "A single change that extends our TLB cache size detection+reporting
        code"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, cpu: Detect more TLB configuration
      5d4863e4
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a0fede9
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Misc cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, cpu, amd: Fix a shadowed variable situation
        um, x86: Fix vDSO build
        x86: Delete non-required instances of include <linux/init.h>
        x86, realmode: Pointer walk cleanups, pull out invariant use of __pa()
        x86/traps: Clean up error exception handler definitions
      2a0fede9
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 06bc0f4a
      Linus Torvalds authored
      Pull x86/build changes from Ingo Molnar:
       "Misc smaller improvements"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, boot: Move intcall() to the .inittext section
        x86, boot: Use .code16 instead of .code16gcc
        x86, sparse: Do not force removal of __user when calling copy_to/from_user_nocheck()
      06bc0f4a
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4cd41569
      Linus Torvalds authored
      Pull x86/asm changes from Ingo Molnar:
       "Misc optimizations"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Slightly tweak the access_ok() C variant for better code
        x86: Replace assembly access_ok() with a C variant
        x86-64, copy_user: Use leal to produce 32-bit results
        x86-64, copy_user: Remove zero byte check before copy user buffer.
      4cd41569
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a7dbbcc
      Linus Torvalds authored
      Pull x86/apic changes from Ingo Molnar:
       "Two main changes:
      
         - improve local APIC Error Status Register reporting robustness
      
         - add the 'disable_cpu_apicid=x' boot parameter for kexec booting"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, apic: Make disabled_cpu_apicid static read_mostly, fix typos
        x86, apic, kexec: Add disable_cpu_apicid kernel parameter
        x86/apic: Read Error Status Register correctly
      1a7dbbcc
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c646143
      Linus Torvalds authored
      Pull timer changes from Ingo Molnar:
        - ARM clocksource/clockevent improvements and fixes
        - generic timekeeping updates: TAI fixes/improvements, cleanups
        - Posix cpu timer cleanups and improvements
        - dynticks updates: full dynticks bugfixes, optimizations and cleanups
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        clocksource: Timer-sun5i: Switch to sched_clock_register()
        timekeeping: Remove comment that's mostly out of date
        rtc-cmos: Add an alarm disable quirk
        timekeeper: fix comment typo for tk_setup_internals()
        timekeeping: Fix missing timekeeping_update in suspend path
        timekeeping: Fix CLOCK_TAI timer/nanosleep delays
        tick/timekeeping: Call update_wall_time outside the jiffies lock
        timekeeping: Avoid possible deadlock from clock_was_set_delayed
        timekeeping: Fix potential lost pv notification of time change
        timekeeping: Fix lost updates to tai adjustment
        clocksource: sh_cmt: Add clk_prepare/unprepare support
        clocksource: bcm_kona_timer: Remove unused bcm_timer_ids
        clocksource: vt8500: Remove deprecated IRQF_DISABLED
        clocksource: tegra: Remove deprecated IRQF_DISABLED
        clocksource: misc drivers: Remove deprecated IRQF_DISABLED
        clocksource: sh_mtu2: Remove unnecessary platform_set_drvdata()
        clocksource: sh_tmu: Remove unnecessary platform_set_drvdata()
        clocksource: armada-370-xp: Enable timer divider only when needed
        clocksource: clksrc-of: Warn if no clock sources are found
        clocksource: orion: Switch to sched_clock_register()
        ...
      6c646143