1. 22 Jun, 2015 7 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 23b77762
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes are:
      
         - lockless wakeup support for futexes and IPC message queues
           (Davidlohr Bueso, Peter Zijlstra)
      
         - Replace spinlocks with atomics in thread_group_cputimer(), to
           improve scalability (Jason Low)
      
         - NUMA balancing improvements (Rik van Riel)
      
         - SCHED_DEADLINE improvements (Wanpeng Li)
      
         - clean up and reorganize preemption helpers (Frederic Weisbecker)
      
         - decouple page fault disabling machinery from the preemption
           counter, to improve debuggability and robustness (David
           Hildenbrand)
      
         - SCHED_DEADLINE documentation updates (Luca Abeni)
      
         - topology CPU masks cleanups (Bartosz Golaszewski)
      
         - /proc/sched_debug improvements (Srikar Dronamraju)"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)
        sched/deadline: Remove needless parameter in dl_runtime_exceeded()
        sched: Remove superfluous resetting of the p->dl_throttled flag
        sched/deadline: Drop duplicate init_sched_dl_class() declaration
        sched/deadline: Reduce rq lock contention by eliminating locking of non-feasible target
        sched/deadline: Make init_sched_dl_class() __init
        sched/deadline: Optimize pull_dl_task()
        sched/preempt: Add static_key() to preempt_notifiers
        sched/preempt: Fix preempt notifiers documentation about hlist_del() within unsafe iteration
        sched/stop_machine: Fix deadlock between multiple stop_two_cpus()
        sched/debug: Add sum_sleep_runtime to /proc/<pid>/sched
        sched/debug: Replace vruntime with wait_sum in /proc/sched_debug
        sched/debug: Properly format runnable tasks in /proc/sched_debug
        sched/numa: Only consider less busy nodes as numa balancing destinations
        Revert 095bebf6 ("sched/numa: Do not move past the balance point if unbalanced")
        sched/fair: Prevent throttling in early pick_next_task_fair()
        preempt: Reorganize the notrace definitions a bit
        preempt: Use preempt_schedule_context() as the official tracing preemption point
        sched: Make preempt_schedule_context() function-tracing safe
        x86: Remove cpu_sibling_mask() and cpu_core_mask()
        x86: Replace cpu_**_mask() with topology_**_cpumask()
        ...
      23b77762
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6bc4c3ad
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "These are the left over fixes from the v4.1 cycle"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf tools: Fix build breakage if prefix= is specified
        perf/x86: Honor the architectural performance monitoring version
        perf/x86/intel: Fix PMI handling for Intel PT
        perf/x86/intel/bts: Fix DS area sharing with x86_pmu events
        perf/x86: Add more Broadwell model numbers
        perf: Fix ring_buffer_attach() RCU sync, again
      6bc4c3ad
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c58267e9
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes mostly consist of work on x86 PMU drivers:
      
         - x86 Intel PT (hardware CPU tracer) improvements (Alexander
           Shishkin)
      
         - x86 Intel CQM (cache quality monitoring) improvements (Thomas
           Gleixner)
      
         - x86 Intel PEBSv3 support (Peter Zijlstra)
      
         - x86 Intel PEBS interrupt batching support for lower overhead
           sampling (Zheng Yan, Kan Liang)
      
         - x86 PMU scheduler fixes and improvements (Peter Zijlstra)
      
        There's too many tooling improvements to list them all - here are a
        few select highlights:
      
        'perf bench':
      
            - Introduce new 'perf bench futex' benchmark: 'wake-parallel', to
              measure parallel waker threads generating contention for kernel
              locks (hb->lock). (Davidlohr Bueso)
      
        'perf top', 'perf report':
      
            - Allow disabling/enabling events dynamicaly in 'perf top':
              a 'perf top' session can instantly become a 'perf report'
              one, i.e. going from dynamic analysis to a static one,
              returning to a dynamic one is possible, to toogle the
              modes, just press 'f' to 'freeze/unfreeze' the sampling. (Arnaldo Carvalho de Melo)
      
            - Make Ctrl-C stop processing on TUI, allowing interrupting the load of big
              perf.data files (Namhyung Kim)
      
        'perf probe': (Masami Hiramatsu)
      
            - Support glob wildcards for function name
            - Support $params special probe argument: Collect all function arguments
            - Make --line checks validate C-style function name.
            - Add --no-inlines option to avoid searching inline functions
            - Greatly speed up 'perf probe --list' by caching debuginfo.
            - Improve --filter support for 'perf probe', allowing using its arguments
              on other commands, as --add, --del, etc.
      
        'perf sched':
      
            - Add option in 'perf sched' to merge like comms to lat output (Josef Bacik)
      
        Plus tons of infrastructure work - in particular preparation for
        upcoming threaded perf report support, but also lots of other work -
        and fixes and other improvements.  See (much) more details in the
        shortlog and in the git log"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (305 commits)
        perf tools: Configurable per thread proc map processing time out
        perf tools: Add time out to force stop proc map processing
        perf report: Fix sort__sym_cmp to also compare end of symbol
        perf hists browser: React to unassigned hotkey pressing
        perf top: Tell the user how to unfreeze events after pressing 'f'
        perf hists browser: Honour the help line provided by builtin-{top,report}.c
        perf hists browser: Do not exit when 'f' is pressed in 'report' mode
        perf top: Replace CTRL+z with 'f' as hotkey for enable/disable events
        perf annotate: Rename source_line_percent to source_line_samples
        perf annotate: Display total number of samples with --show-total-period
        perf tools: Ensure thread-stack is flushed
        perf top: Allow disabling/enabling events dynamicly
        perf evlist: Add toggle_enable() method
        perf trace: Fix race condition at the end of started workloads
        perf probe: Speed up perf probe --list by caching debuginfo
        perf probe: Show usage even if the last event is skipped
        perf tools: Move libtraceevent dynamic list to separated LDFLAGS variable
        perf tools: Fix a problem when opening old perf.data with different byte order
        perf tools: Ignore .config-detected in .gitignore
        perf probe: Fix to return error if no probe is added
        ...
      c58267e9
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1bf7067c
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The main changes are:
      
         - 'qspinlock' support, enabled on x86: queued spinlocks - these are
           now the spinlock variant used by x86 as they outperform ticket
           spinlocks in every category.  (Waiman Long)
      
         - 'pvqspinlock' support on x86: paravirtualized variant of queued
           spinlocks.  (Waiman Long, Peter Zijlstra)
      
         - 'qrwlock' support, enabled on x86: queued rwlocks.  Similar to
           queued spinlocks, they are now the variant used by x86:
      
             CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
             CONFIG_QUEUED_SPINLOCKS=y
             CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
             CONFIG_QUEUED_RWLOCKS=y
      
         - various lockdep fixlets
      
         - various locking primitives cleanups, further WRITE_ONCE()
           propagation"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        locking/lockdep: Remove hard coded array size dependency
        locking/qrwlock: Don't contend with readers when setting _QW_WAITING
        lockdep: Do not break user-visible string
        locking/arch: Rename set_mb() to smp_store_mb()
        locking/arch: Add WRITE_ONCE() to set_mb()
        rtmutex: Warn if trylock is called from hard/softirq context
        arch: Remove __ARCH_HAVE_CMPXCHG
        locking/rtmutex: Drop usage of __HAVE_ARCH_CMPXCHG
        locking/qrwlock: Rename QUEUE_RWLOCK to QUEUED_RWLOCKS
        locking/pvqspinlock: Rename QUEUED_SPINLOCK to QUEUED_SPINLOCKS
        locking/pvqspinlock: Replace xchg() by the more descriptive set_mb()
        locking/pvqspinlock, x86: Enable PV qspinlock for Xen
        locking/pvqspinlock, x86: Enable PV qspinlock for KVM
        locking/pvqspinlock, x86: Implement the paravirt qspinlock call patching
        locking/pvqspinlock: Implement simple paravirt support for the qspinlock
        locking/qspinlock: Revert to test-and-set on hypervisors
        locking/qspinlock: Use a simple write to grab the lock
        locking/qspinlock: Optimize for smaller NR_CPUS
        locking/qspinlock: Extract out code snippets for the next patch
        locking/qspinlock: Add pending bit
        ...
      1bf7067c
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc934d40
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
      
       - Continued initialization/Kconfig updates: hide most Kconfig options
         from unsuspecting users.
      
         There's now a single high level configuration option:
      
              *
              * RCU Subsystem
              *
              Make expert-level adjustments to RCU configuration (RCU_EXPERT) [N/y/?] (NEW)
      
         Which if answered in the negative, leaves us with a single
         interactive configuration option:
      
              Offload RCU callback processing from boot-selected CPUs (RCU_NOCB_CPU) [N/y/?] (NEW)
      
         All the rest of the RCU options are configured automatically.  Later
         on we'll remove this single leftover configuration option as well.
      
       - Remove all uses of RCU-protected array indexes: replace the
         rcu_[access|dereference]_index_check() APIs with READ_ONCE() and
         rcu_lockdep_assert()
      
       - RCU CPU-hotplug cleanups
      
       - Updates to Tiny RCU: a race fix and further code shrinkage.
      
       - RCU torture-testing updates: fixes, speedups, cleanups and
         documentation updates.
      
       - Miscellaneous fixes
      
       - Documentation updates
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        rcutorture: Allow repetition factors in Kconfig-fragment lists
        rcutorture: Display "make oldconfig" errors
        rcutorture: Update TREE_RCU-kconfig.txt
        rcutorture: Make rcutorture scripts force RCU_EXPERT
        rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact
        rcutorture: TASKS_RCU set directly, so don't explicitly set it
        rcutorture: Test SRCU cleanup code path
        rcutorture: Replace barriers with smp_store_release() and smp_load_acquire()
        locktorture: Change longdelay_us to longdelay_ms
        rcutorture: Allow negative values of nreaders to oversubscribe
        rcutorture: Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug
        rcutorture: Exchange TREE03 and TREE04 geometries
        locktorture: fix deadlock in 'rw_lock_irq' type
        rcu: Correctly handle non-empty Tiny RCU callback list with none ready
        rcutorture: Test both RCU-sched and RCU-bh for Tiny RCU
        rcu: Further shrink Tiny RCU by making empty functions static inlines
        rcu: Conditionally compile RCU's eqs warnings
        rcu: Remove prompt for RCU implementation
        rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO
        rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF
        ...
      fc934d40
    • Linus Torvalds's avatar
      Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 052b398a
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       "In this pile: pathname resolution rewrite.
      
         - recursion in link_path_walk() is gone.
      
         - nesting limits on symlinks are gone (the only limit remaining is
           that the total amount of symlinks is no more than 40, no matter how
           nested).
      
         - "fast" (inline) symlinks are handled without leaving rcuwalk mode.
      
         - stack footprint (independent of the nesting) is below kilobyte now,
           about on par with what it used to be with one level of nested
           symlinks and ~2.8 times lower than it used to be in the worst case.
      
         - struct nameidata is entirely private to fs/namei.c now (not even
           opaque pointers are being passed around).
      
         - ->follow_link() and ->put_link() calling conventions had been
           changed; all in-tree filesystems converted, out-of-tree should be
           able to follow reasonably easily.
      
           For out-of-tree conversions, see Documentation/filesystems/porting
           for details (and in-tree filesystems for examples of conversion).
      
        That has sat in -next since mid-May, seems to survive all testing
        without regressions and merges clean with v4.1"
      
      * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (131 commits)
        turn user_{path_at,path,lpath,path_dir}() into static inlines
        namei: move saved_nd pointer into struct nameidata
        inline user_path_create()
        inline user_path_parent()
        namei: trim do_last() arguments
        namei: stash dfd and name into nameidata
        namei: fold path_cleanup() into terminate_walk()
        namei: saner calling conventions for filename_parentat()
        namei: saner calling conventions for filename_create()
        namei: shift nameidata down into filename_parentat()
        namei: make filename_lookup() reject ERR_PTR() passed as name
        namei: shift nameidata inside filename_lookup()
        namei: move putname() call into filename_lookup()
        namei: pass the struct path to store the result down into path_lookupat()
        namei: uninline set_root{,_rcu}()
        namei: be careful with mountpoint crossings in follow_dotdot_rcu()
        Documentation: remove outdated information from automount-support.txt
        get rid of assorted nameidata-related debris
        lustre: kill unused helper
        lustre: kill unused macro (LOOKUP_CONTINUE)
        ...
      052b398a
    • Linus Torvalds's avatar
      Linux 4.1 · b953c0d2
      Linus Torvalds authored
      b953c0d2
  2. 21 Jun, 2015 1 commit
  3. 20 Jun, 2015 1 commit
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 8f4ce072
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A smattering of fixes,
      
        mgag200:
            don't accept modes that aren't aligned properly as hw can't do it
      
        i915:
            two regression fixes
      
        radeon:
            one query to allow userspace fixes
            one oops fixer for older hw with new options enabled"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: don't probe MST on hw we don't support it on
        drm/radeon: Add RADEON_INFO_VA_UNMAP_WORKING query
        drm/mgag200: Reject non-character-cell-aligned mode widths
        Revert "drm/i915: Don't skip request retirement if the active list is empty"
        drm/i915: Always reset vma->ggtt_view.pages cache on unbinding
      8f4ce072
  4. 19 Jun, 2015 31 commits