1. 01 2月, 2014 5 次提交
  2. 30 1月, 2014 1 次提交
  3. 27 1月, 2014 1 次提交
  4. 26 1月, 2014 1 次提交
  5. 25 1月, 2014 1 次提交
  6. 24 1月, 2014 3 次提交
  7. 21 1月, 2014 28 次提交
    • N
      perf symbols: Fix JIT symbol resolution on heap · 578c03c8
      Namhyung Kim 提交于
      Gaurav reported that perf cannot profile JIT program if it executes the
      code on heap.  This was because current map__new() only handle JIT on
      anon mappings - extends it to handle no_dso (heap, stack) case too.
      
      This patch assumes JIT profiling only provides dynamic function symbols
      so check the mapping type to distinguish the case.  It'd provide no
      symbols for data mapping - if we need to support symbols on data
      mappings later it should be changed.
      Reported-by: NGaurav Jain <gjain@fb.com>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Tested-by: NGaurav Jain <gjain@fb.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Gaurav Jain <gjain@fb.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1389836971-3549-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      578c03c8
    • L
      Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 15c81026
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c9cdd9a6
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4bcd8cc
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fe67a11
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fab5669d
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 74e8ee82
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8bd6964c
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bb2c5e2
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4500cf60
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 972d5e7e
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5d4863e4
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a0fede9
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 06bc0f4a
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4cd41569
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a7dbbcc
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c646143
      Linus Torvalds 提交于
      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
    • S
      perf stat: Fix memory corruption of xyarray when cpumask is used · 8ad9219e
      Stephane Eranian 提交于
      This patch fixes a memory corruption problem with the xyarray when the
      evsel fds get closed at the end of the run_perf_stat() call.
      
      It could be triggered with:
      
       # perf stat -a -e power/energy-cores/ ls
      
      When cpumask are used by events (.e.g, RAPL or uncores) then the evsel
      fds are allocated based on the actual number of CPUs monitored. That
      number can be smaller than the total number of CPUs on the system.
      
      The problem arises at the end by perf stat closes the fds twice. When
      fds are closed, their entry in the xyarray are set to -1.
      
      The first close() on the evsel is made from __run_perf_stat() and it
      uses the actual number of CPUS for the event which is how the xyarray
      was allocated for.
      
      The second is from perf_evlist_close() but that one is on the total
      number of CPUs in the system, so it assume the xyarray was allocated to
      cover it. However it was not, and some writes corrupt memory.
      
      The fix is in perf_evlist_close() is to first try with the evsel->cpus
      if present, if not use the evlist->cpus. That fixes the problem.
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1389972846-6566-3-git-send-email-eranian@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8ad9219e
    • S
      perf evsel: Remove duplicate member zeroing after free · de256a4e
      Stephane Eranian 提交于
      No need to set evsel->fd to NULL after calling perf_evsel__free_fd(), as
      this method already does that.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-wu6kul8fpapr8iyqm685ewtf@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      de256a4e
    • A
      perf tools: Ensure sscanf does not overrun the "mem" field · a761a2d8
      Alan Cox 提交于
      Make the parsing robust.
      
      (perf has some other assumptions that BUFSIZE <= MAX_PATH which are
       not touched here)
      
      Reported-by: Jackie Chang
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-g2uoiwbrpiimb63rx32qv8ne@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a761a2d8
    • S
      perf stat: fix NULL pointer reference bug with event unit · 8a398897
      Stephane Eranian 提交于
      This patch fixes a problem with the handling of the newly introduced
      optional event unit. The following cmdline caused a segfault:
      
       $ perf stat -e cpu/event-0x3c/ ls
      
      This patch fixes the problem with the default setting for alias->unit
      which was eventually causing the segfault.
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1389972846-6566-2-git-send-email-eranian@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8a398897
    • B
      perf tools: Add support for the xtensa architecture · 3a46817f
      Baruch Siach 提交于
      Tested using kernel tracepoints on a QEMU simulated environment.
      
      Kernel support for perf depends on the patch "xtensa: enable
      HAVE_PERF_EVENTS", which is scheduled for v3.14.
      
      Hardware performance counters are not supported under xtensa yet.
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Acked-by: NMax Filippov <jcmvbkbc@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: linux-xtensa@linux-xtensa.org
      Link: http://lkml.kernel.org/r/aafcdb22f04e2d3188d2938528939481be56b649.1389608855.git.baruch@tkos.co.ilSigned-off-by: NBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3a46817f
    • S
      perf session: Free cpu_map in perf_session__cpu_bitmap · 8bac41cb
      Stanislav Fomichev 提交于
      This method uses a temporary struct cpu_map to figure out the cpus
      present in the received cpu list in string form, but it failed to free
      it after returning. Fix it.
      Signed-off-by: NStanislav Fomichev <stfomichev@yandex-team.ru>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@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/1390217980-22424-3-git-send-email-stfomichev@yandex-team.ru
      [ Use goto + err = -1 to do the delete just once, in the normal exit path ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8bac41cb
    • S
      perf timechart: Fix wrong SVG height · 3415d8b8
      Stanislav Fomichev 提交于
      If we call perf timechart with -p 0 arguments, it means we don't want
      any tasks related data. It works, but space for tasks data is reserved
      in the generated SVG. Remove this unused empty space via passing 0 as
      count to the open_svg.
      Signed-off-by: NStanislav Fomichev <stfomichev@yandex-team.ru>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@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/1390217980-22424-2-git-send-email-stfomichev@yandex-team.ruSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3415d8b8
    • I
      x86/intel/mpx: Remove unused LWP structure · 741e3902
      Ingo Molnar 提交于
      We don't support LWP yet, don't give the impression that we do:
      represent the LWP state as opaque 128 bytes, the way Linux sees it
      currently.
      
      Cc: Qiaowei Ren <qiaowei.ren@intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-ecarmjtfKpanpAapfck6dj6g@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      741e3902
    • L
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a0fa1dd3
      Linus Torvalds 提交于
      Pull scheduler changes from Ingo Molnar:
      
       - Add the initial implementation of SCHED_DEADLINE support: a real-time
         scheduling policy where tasks that meet their deadlines and
         periodically execute their instances in less than their runtime quota
         see real-time scheduling and won't miss any of their deadlines.
         Tasks that go over their quota get delayed (Available to privileged
         users for now)
      
       - Clean up and fix preempt_enable_no_resched() abuse all around the
         tree
      
       - Do sched_clock() performance optimizations on x86 and elsewhere
      
       - Fix and improve auto-NUMA balancing
      
       - Fix and clean up the idle loop
      
       - Apply various cleanups and fixes
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        sched: Fix __sched_setscheduler() nice test
        sched: Move SCHED_RESET_ON_FORK into attr::sched_flags
        sched: Fix up attr::sched_priority warning
        sched: Fix up scheduler syscall LTP fails
        sched: Preserve the nice level over sched_setscheduler() and sched_setparam() calls
        sched/core: Fix htmldocs warnings
        sched/deadline: No need to check p if dl_se is valid
        sched/deadline: Remove unused variables
        sched/deadline: Fix sparse static warnings
        m68k: Fix build warning in mac_via.h
        sched, thermal: Clean up preempt_enable_no_resched() abuse
        sched, net: Fixup busy_loop_us_clock()
        sched, net: Clean up preempt_enable_no_resched() abuse
        sched/preempt: Fix up missed PREEMPT_NEED_RESCHED folding
        sched/preempt, locking: Rework local_bh_{dis,en}able()
        sched/clock, x86: Avoid a runtime condition in native_sched_clock()
        sched/clock: Fix up clear_sched_clock_stable()
        sched/clock, x86: Use a static_key for sched_clock_stable
        sched/clock: Remove local_irq_disable() from the clocks
        sched/clock, x86: Rewrite cyc2ns() to avoid the need to disable IRQs
        ...
      a0fa1dd3
    • L
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9326657a
      Linus Torvalds 提交于
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - Add Intel RAPL energy counter support (Stephane Eranian)
         - Clean up uprobes (Oleg Nesterov)
         - Optimize ring-buffer writes (Peter Zijlstra)
      
        Tooling side changes, user visible:
      
         - 'perf diff':
           - Add column colouring improvements (Ramkumar Ramachandra)
      
        - 'perf kvm':
           - Add guest related improvements, including allowing to specify a
             directory with guest specific /proc information (Dongsheng Yang)
           - Add shell completion support (Ramkumar Ramachandra)
           - Add '-v' option (Dongsheng Yang)
           - Support --guestmount (Dongsheng Yang)
      
         - 'perf probe':
           - Support showing source code, asking for variables to be collected
             at probe time and other 'perf probe' operations that use DWARF
             information.
      
             This supports only binaries with debugging information at this
             time, detached debuginfo (aka debuginfo packages) support should
             come in later patches (Masami Hiramatsu)
      
         - 'perf record':
           - Rename --no-delay option to --no-buffering, better reflecting its
             purpose and freeing up '--delay' to take the place of
             '--initial-delay', so that 'record' and 'stat' are consistent
             (Arnaldo Carvalho de Melo)
           - Default the -t/--thread option to no inheritance (Adrian Hunter)
           - Make per-cpu mmaps the default (Adrian Hunter)
      
         - 'perf report':
           - Improve callchain processing performance (Frederic Weisbecker)
           - Retain bfd reference to lookup source line numbers, greatly
             optimizing, among other use cases, 'perf report -s srcline'
             (Adrian Hunter)
           - Improve callchain processing performance even more (Namhyung Kim)
           - Add a perf.data file header window in the 'perf report' TUI,
             associated with the 'i' hotkey, providing a counterpart to the
             --header option in the stdio UI (Namhyung Kim)
      
         - 'perf script':
           - Add an option in 'perf script' to print the source line number
             (Adrian Hunter)
           - Add --header/--header-only options to 'script' and 'report', the
             default is not tho show the header info, but as this has been the
             default for some time, leave a single line explaining how to
             obtain that information (Jiri Olsa)
           - Add options to show comm, fork, exit and mmap PERF_RECORD_ events
             (Namhyung Kim)
           - Print callchains and symbols if they exist (David Ahern)
      
         - 'perf timechart'
           - Add backtrace support to CPU info
           - Print pid along the name
           - Add support for CPU topology
           - Add new option --highlight'ing threads, be it by name or, if a
             numeric value is provided, that run more than given duration
             (Stanislav Fomichev)
      
         - 'perf top':
           - Make 'perf top -g' refer to callchains, for consistency with
             other tools (David Ahern)
      
         - 'perf trace':
           - Handle old kernels where the "raw_syscalls" tracepoints were
             called plain "syscalls" (David Ahern)
           - Remove thread summary coloring, by Pekka Enberg.
           - Honour -m option in 'trace', the tool was offering the option to
             set the mmap size, but wasn't using it when doing the actual mmap
             on the events file descriptors (Jiri Olsa)
      
         - generic:
           - Backport libtraceevent plugin support (trace-cmd repository, with
             plugins for jbd2, hrtimer, kmem, kvm, mac80211, sched_switch,
             function, xen, scsi, cfg80211 (Jiri Olsa)
           - Print session information only if --stdio is given (Namhyung Kim)
      
        Tooling side changes, developer visible (plumbing):
      
         - Improve 'perf probe' exit path, release resources (Masami
           Hiramatsu)
         - Improve libtraceevent plugins exit path, allowing the registering
           of an unregister handler to be called at exit time (Namhyung Kim)
         - Add an alias to the build test makefile (make -C tools/perf
           build-test) (Namhyung Kim)
         - Get rid of die() and friends (good riddance!) in libtraceevent
           (Namhyung Kim)
         - Fix cross build problems related to pkgconfig and CROSS_COMPILE not
           being propagated to the feature tests, leading to features being
           tested in the host and then being enabled on the target (Mark
           Rutland)
         - Improve forked workload error reporting by sending the errno in the
           signal data queueing integer field, using sigqueue and by doing the
           signal setup in the evlist methods, removing open coded equivalents
           in various tools (Arnaldo Carvalho de Melo)
         - Do more auto exit cleanup chores in the 'evlist' destructor, so
           that the tools don't have to all do that sequence (Arnaldo Carvalho
           de Melo)
         - Pack 'struct perf_session_env' and 'struct trace' (Arnaldo Carvalho
           de Melo)
         - Add test for building detached source tarballs (Arnaldo Carvalho de
           Melo)
         - Move some header files (tools/perf/ to tools/include/ to make them
           available to other tools/ dwelling codebases (Namhyung Kim)
         - Move logic to warn about kptr_restrict'ed kernels to separate
           function in 'report' (Arnaldo Carvalho de Melo)
         - Move hist browser selection code to separate function (Arnaldo
           Carvalho de Melo)
         - Move histogram entries collapsing to separate function (Arnaldo
           Carvalho de Melo)
         - Introduce evlist__for_each() & friends (Arnaldo Carvalho de Melo)
         - Automate setup of FEATURE_CHECK_(C|LD)FLAGS-all variables (Jiri
           Olsa)
         - Move arch setup into seprate Makefile (Jiri Olsa)
         - Make libtraceevent install target quieter (Jiri Olsa)
         - Make tests/make output more compact (Jiri Olsa)
         - Ignore generated files in feature-checks (Chunwei Chen)
         - Introduce pevent_filter_strerror() in libtraceevent, similar in
           purpose to libc's strerror() function (Namhyung Kim)
         - Use perf_data_file methods to write output file in 'record' and
           'inject' (Jiri Olsa)
         - Use pr_*() functions where applicable in 'report' (Namhyumg Kim)
         - Add 'machine' 'addr_location' struct to have full picture (machine,
           thread, map, symbol, addr) for a (partially) resolved address,
           reducing function signatures (Arnaldo Carvalho de Melo)
         - Reduce code duplication in the histogram entry creation/insertion
           (Arnaldo Carvalho de Melo)
         - Auto allocate annotation histogram data structures (Arnaldo
           Carvalho de Melo)
         - No need to test against NULL before calling free, also set freed
           memory in struct pointers to NULL, to help fixing use after free
           bugs (Arnaldo Carvalho de Melo)
         - Rename some struct DSO binary_type related members and methods, to
           clarify its purpose and need for differentiation (symtab_type, ie
           one is about the files .text, CFI, etc, i.e.  its binary contents,
           and the other is about where the symbol table came from (Arnaldo
           Carvalho de Melo)
         - Convert to new topic libraries, starting with an API one (sysfs,
           debugfs, etc), renaming liblk in the process (Borislav Petkov)
         - Get rid of some more panic() like error handling in libtraceevent.
           (Namhyung Kim)
         - Get rid of panic() like calls in libtraceevent (Namyung Kim)
         - Start carving out symbol parsing routines (perf, just moving
           routines to topic files in tools/lib/symbol/, tools that want to
           use it need to integrate it directly, ie no
           tools/lib/symbol/Makefile is provided (Arnaldo Carvalho de Melo)
         - Assorted refactoring patches, moving code around and adding utility
           evlist methods that will be used in the IPT patchset (Adrian
           Hunter)
         - Assorted mmap_pages handling fixes (Adrian Hunter)
         - Several man pages typo fixes (Dongsheng Yang)
         - Get rid of several die() calls in libtraceevent (Namhyung Kim)
         - Use basename() in a more robust way, to avoid problems related to
           different system library implementations for that function
           (Stephane Eranian)
         - Remove open coded management of short_name_allocated member (Adrian
           Hunter)
         - Several cleanups in the "dso" methods, constifying some parameters
           and renaming some fields to clarify its purpose (Arnaldo Carvalho
           de Melo)
         - Add per-feature check flags, fixing libunwind related build
           problems on some architectures (Jean Pihet)
         - Do not disable source line lookup just because of one failure.
           (Adrian Hunter)
         - Several 'perf kvm' man page corrections (Dongsheng Yang)
         - Correct the message in feature-libnuma checking, swowing the right
           devel package names for various distros (Dongsheng Yang)
         - Polish 'readn()' function and introduce its counterpart,
           'writen()' (Jiri Olsa)
         - Start moving timechart state from global variables to a 'perf_tool'
           derived 'timechart' struct (Arnaldo Carvalho de Melo)
      
        ... and lots of fixes and improvements I forgot to list"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (282 commits)
        perf tools: Remove unnecessary callchain cursor state restore on unmatch
        perf callchain: Spare double comparison of callchain first entry
        perf tools: Do proper comm override error handling
        perf symbols: Export elf_section_by_name and reuse
        perf probe: Release all dynamically allocated parameters
        perf probe: Release allocated probe_trace_event if failed
        perf tools: Add 'build-test' make target
        tools lib traceevent: Unregister handler when xen plugin is unloaded
        tools lib traceevent: Unregister handler when scsi plugin is unloaded
        tools lib traceevent: Unregister handler when jbd2 plugin is is unloaded
        tools lib traceevent: Unregister handler when cfg80211 plugin is unloaded
        tools lib traceevent: Unregister handler when mac80211 plugin is unloaded
        tools lib traceevent: Unregister handler when sched_switch plugin is unloaded
        tools lib traceevent: Unregister handler when kvm plugin is unloaded
        tools lib traceevent: Unregister handler when kmem plugin is unloaded
        tools lib traceevent: Unregister handler when hrtimer plugin is unloaded
        tools lib traceevent: Unregister handler when function plugin is unloaded
        tools lib traceevent: Add pevent_unregister_print_function()
        tools lib traceevent: Add pevent_unregister_event_handler()
        tools lib traceevent: fix pointer-integer size mismatch
        ...
      9326657a
    • L
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2cc3f16c
      Linus Torvalds 提交于
      Pull IRQ changes from Ingo Molnar:
       "The only change in this cycle is a CPU hotplug related spurious
        warning fix"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Fix kbuild warning in smp_irq_move_cleanup_interrupt()
        x86/irq: Fix do_IRQ() interrupt warning for cpu hotplug retriggered irqs
      2cc3f16c