Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Sep 04, 2015
  2. Sep 02, 2015
  3. Sep 01, 2015
  4. Aug 31, 2015
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 418c2e1f
      Linus Torvalds authored
      Pull scheduler fix from Ingo Molnar:
       "This is a leftover scheduler fix from the v4.2 cycle"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix cpu_active_mask/cpu_online_mask race
      418c2e1f
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a1d85611
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The biggest change in this cycle is the rewrite of the main SMP load
        balancing metric: the CPU load/utilization.  The main goal was to make
        the metric more precise and more representative - see the changelog of
        this commit for the gory details:
      
          9d89c257 ("sched/fair: Rewrite runnable load and utilization average tracking")
      
        It is done in a way that significantly reduces complexity of the code:
      
          5 files changed, 249 insertions(+), 494 deletions(-)
      
        and the performance testing results are encouraging.  Nevertheless we
        need to keep an eye on potential regressions, since this potentially
        affects every SMP workload in existence.
      
        This work comes from Yuyang Du.
      
        Other changes:
      
         - SCHED_DL updates.  (Andrea Parri)
      
         - Simplify architecture callbacks by removing finish_arch_switch().
           (Peter Zijlstra et al)
      
         - cputime accounting: guarantee stime + utime == rtime.  (Peter
           Zijlstra)
      
         - optimize idle CPU wakeups some more - inspired by Facebook server
           loads.  (Mike Galbraith)
      
         - stop_machine fixes and updates.  (Oleg Nesterov)
      
         - Introduce the 'trace_sched_waking' tracepoint.  (Peter Zijlstra)
      
         - sched/numa tweaks.  (Srikar Dronamraju)
      
         - misc fixes and small cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        sched/deadline: Fix comment in enqueue_task_dl()
        sched/deadline: Fix comment in push_dl_tasks()
        sched: Change the sched_class::set_cpus_allowed() calling context
        sched: Make sched_class::set_cpus_allowed() unconditional
        sched: Fix a race between __kthread_bind() and sched_setaffinity()
        sched: Ensure a task has a non-normalized vruntime when returning back to CFS
        sched/numa: Fix NUMA_DIRECT topology identification
        tile: Reorganize _switch_to()
        sched, sparc32: Update scheduler comments in copy_thread()
        sched: Remove finish_arch_switch()
        sched, tile: Remove finish_arch_switch
        sched, sh: Fold finish_arch_switch() into switch_to()
        sched, score: Remove finish_arch_switch()
        sched, avr32: Remove finish_arch_switch()
        sched, MIPS: Get rid of finish_arch_switch()
        sched, arm: Remove finish_arch_switch()
        sched/fair: Clean up load average references
        sched/fair: Provide runnable_load_avg back to cfs_rq
        sched/fair: Remove task and group entity load when they are dead
        sched/fair: Init cfs_rq's sched_entity load average
        ...
      a1d85611
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3959df1d
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "MCE handling updates, but also some generic drivers/edac/ changes to
        better organize the Kconfig space"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ras: Move AMD MCE injector to arch/x86/ras/
        x86/mce: Add a wrapper around mce_log() for injection
        x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check()
        RAS: Add a menuconfig option with descriptive text
        x86/mce: Reenable CMCI banks when swiching back to interrupt mode
        x86/mce: Clear Local MCE opt-in before kexec
        x86/mce: Remove unused function declarations
        x86/mce: Kill drain_mcelog_buffer()
        x86/mce: Avoid potential deadlock due to printk() in MCE context
        x86/mce: Remove the MCE ring for Action Optional errors
        x86/mce: Don't use percpu workqueues
        x86/mce: Provide a lockless memory pool to save error records
        x86/mce: Reuse one of the u16 padding fields in 'struct mce'
      3959df1d
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 41d859a8
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Main perf kernel side changes:
      
         - uprobes updates/fixes.  (Oleg Nesterov)
      
         - Add PERF_RECORD_SWITCH to indicate context switches and use it in
           tooling.  (Adrian Hunter)
      
         - Support BPF programs attached to uprobes and first steps for BPF
           tooling support.  (Wang Nan)
      
         - x86 generic x86 MSR-to-perf PMU driver.  (Andy Lutomirski)
      
         - x86 Intel PT, LBR and BTS updates.  (Alexander Shishkin)
      
         - x86 Intel Skylake support.  (Andi Kleen)
      
         - x86 Intel Knights Landing (KNL) RAPL support.  (Dasaratharaman
           Chandramouli)
      
         - x86 Intel Broadwell-DE uncore support.  (Kan Liang)
      
         - x86 hw breakpoints robustization (Andy Lutomirski)
      
        Main perf tooling side changes:
      
         - Support Intel PT in several tools, enabling the use of the
           processor trace feature introduced in Intel Broadwell processors:
           (Adrian Hunter)
      
             # dmesg | grep Performance
             # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver.
             # perf record -e intel_pt//u -a sleep 1
             [ perf record: Woken up 1 times to write data ]
             [ perf record: Captured and wrote 0.216 MB perf.data ]
             # perf script # then navigate in the tool output to some area, like this one:
             184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so)
             185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so)
             186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so)
             187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so)
             188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so)
             189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so)
             190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so)
             191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so)
             192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so)
             193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so)
             194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so)
             195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so)
             196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so)
             197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so)
             198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so)
             199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so)
             200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) =>  7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so)
             201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so)
      
         - Add support for using several Intel PT features (CYC, MTC packets),
           the relevant documentation was updated in:
               tools/perf/Documentation/intel-pt.txt
           briefly describing those packets, its purposes, how to configure
           them in the event config terms and relevant external documentation
           for further reading.  (Adrian Hunter)
      
         - Introduce support for probing at an absolute address, for user and
           kernel 'perf probe's, useful when one have the symbol maps on a
           developer machine but not on an embedded system.  (Wang Nan)
      
         - Add Intel BTS support, with a call-graph script to show it and PT
           in use in a GUI using 'perf script' python scripting with
           postgresql and Qt.  (Adrian Hunter)
      
         - Allow selecting the type of callchains per event, including
           disabling callchains in all but one entry in an event list, to save
           space, and also to ask for the callchains collected in one event to
           be used in other events.  (Kan Liang)
      
         - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho
           de Melo)
             * A bunch more translate file/pathnames from pointers to strings.
             * Convert numbers to strings for the 'keyctl' syscall 'option'
               arg.
             * Add missing 'clockid' entries.
      
         - Introduce 'srcfile' sort key: (Andi Kleen)
      
             # perf record -F 10000 usleep 1
             # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile
             <SNIP>
             # Overhead  Source File
                26.49%  copy_page_64.S
                 5.49%  signal.c
                 0.51%  msr.h
             #
      
           It can be combined with other fields, for instance, experiment with
           '-s srcfile,symbol'.
      
           There are some oddities in some distros and with some specific
           DSOs, being investigated, so your mileage may vary.
      
         - Support per-event 'freq' term: (Namhyung Kim)
      
             $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1
             $ perf evlist -F
             cpu/instructions,freq=1234/: sample_freq=1234
             cycles: sample_period=1000
             $
      
         - Deref sys_enter pointer args with contents from probe:vfs_getname,
           showing pathnames instead of pointers in many syscalls in 'perf
           trace'.  (Arnaldo Carvalho de Melo)
      
         - Stop collecting /proc/kallsyms in perf.data files, saving about
           4.5MB on a typical x86-64 system, use the the symbol resolution
           routines used in all the other tools (report, top, etc) now that we
           can ask libtraceevent to use perf's symbol resolution code.
           (Arnaldo Carvalho de Melo)
      
         - Allow filtering out of perf's PID via 'perf record --exclude-perf'.
           (Wang Nan)
      
         - 'perf trace' now supports syscall groups, like strace, i.e:
      
             $ trace -e file touch file
      
           Will expand 'file' into multiple, file related, syscalls.  More
           work needed to add extra groups for other syscall groups, and also
           to complement what was added for the 'file' group, included as a
           proof of concept.  (Arnaldo Carvalho de Melo)
      
         - Add lock_pi stresser to 'perf bench futex', to test the kernel code
           related to FUTEX_(UN)LOCK_PI.  (Davidlohr Bueso)
      
         - Let user have timestamps with per-thread recording in 'perf record'
           (Adrian Hunter)
      
         - ... and tons of other changes, see the shortlog and the Git log for
           details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (240 commits)
        perf evlist: Add backpointer for perf_env to evlist
        perf tools: Rename perf_session_env to perf_env
        perf tools: Do not change lib/api/fs/debugfs directly
        perf tools: Add tracing_path and remove unneeded functions
        perf buildid: Introduce sysfs/filename__sprintf_build_id
        perf evsel: Add a backpointer to the evlist a evsel is in
        perf trace: Add header with copyright and background info
        perf scripts python: Add new compaction-times script
        perf stat: Get correct cpu id for print_aggr
        tools lib traceeveent: Allow for negative numbers in print format
        perf script: Add --[no-]-demangle/--[no-]-demangle-kernel
        tracing/uprobes: Do not print '0x (null)' when offset is 0
        perf probe: Support probing at absolute address
        perf probe: Fix error reported when offset without function
        perf probe: Fix list result when address is zero
        perf probe: Fix list result when symbol can't be found
        tools build: Allow duplicate objects in the object list
        perf tools: Remove export.h from MANIFEST
        perf probe: Prevent segfault when reading probe point with absolute address
        perf tools: Update Intel PT documentation
        ...
      41d859a8
    • Linus Torvalds's avatar
      Merge branch 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 46580009
      Linus Torvalds authored
      Pull x86/kasan changes from Ingo Molnar:
       "These are two KASAN changes that factor out (and generalize) x86
        specific KASAN code from x86 to mm"
      
      * 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kasan, mm: Introduce generic kasan_populate_zero_shadow()
        x86/kasan: Define KASAN_SHADOW_OFFSET per architecture
      46580009
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e10994ff
      Linus Torvalds authored
      Pull liblockdep fixes from Ingo Molnar:
       "Three liblockdep fixes left over from the v4.2 cycle"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/liblockdep: Use the rbtree header provided by common tools headers
        tools/liblockdep: Correct macro for WARN
        tools: Restore export.h
      e10994ff