Skip to content
  1. Jun 23, 2015
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e75c73ad
      Linus Torvalds authored
      Pull x86 FPU updates from Ingo Molnar:
       "This tree contains two main changes:
      
         - The big FPU code rewrite: wide reaching cleanups and reorganization
           that pulls all the FPU code together into a clean base in
           arch/x86/fpu/.
      
           The resulting code is leaner and faster, and much easier to
           understand.  This enables future work to further simplify the FPU
           code (such as removing lazy FPU restores).
      
           By its nature these changes have a substantial regression risk: FPU
           code related bugs are long lived, because races are often subtle
           and bugs mask as user-space failures that are difficult to track
           back to kernel side backs.  I'm aware of no unfixed (or even
           suspected) FPU related regression so far.
      
         - MPX support rework/fixes.  As this is still not a released CPU
           feature, there were some buglets in the code - should be much more
           robust now (Dave Hansen)"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (250 commits)
        x86/fpu: Fix double-increment in setup_xstate_features()
        x86/mpx: Allow 32-bit binaries on 64-bit kernels again
        x86/mpx: Do not count MPX VMAs as neighbors when unmapping
        x86/mpx: Rewrite the unmap code
        x86/mpx: Support 32-bit binaries on 64-bit kernels
        x86/mpx: Use 32-bit-only cmpxchg() for 32-bit apps
        x86/mpx: Introduce new 'directory entry' to 'addr' helper function
        x86/mpx: Add temporary variable to reduce masking
        x86: Make is_64bit_mm() widely available
        x86/mpx: Trace allocation of new bounds tables
        x86/mpx: Trace the attempts to find bounds tables
        x86/mpx: Trace entry to bounds exception paths
        x86/mpx: Trace #BR exceptions
        x86/mpx: Introduce a boot-time disable flag
        x86/mpx: Restrict the mmap() size check to bounds tables
        x86/mpx: Remove redundant MPX_BNDCFG_ADDR_MASK
        x86/mpx: Clean up the code by not passing a task pointer around when unnecessary
        x86/mpx: Use the new get_xsave_field_ptr()API
        x86/fpu/xstate: Wrap get_xsave_addr() to make it safer
        x86/fpu/xstate: Fix up bad get_xsave_addr() assumptions
        ...
      e75c73ad
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cfe3eceb
      Linus Torvalds authored
      Pull x86 EFI updates from Ingo Molnar:
       "EFI changes:
      
         - Use idiomatic negative error values in efivar_create_sysfs_entry()
           instead of returning '1' to indicate error (Dan Carpenter)
      
         - Implement new support to expose the EFI System Resource Tables in
           sysfs, which provides information for performing firmware updates
           (Peter Jones)
      
         - Documentation cleanup in the EFI handover protocol section which
           falsely claimed that 'cmdline_size' needed to be filled out by the
           boot loader (Alex Smith)
      
         - Align the order of SMBIOS tables in /sys/firmware/efi/systab to
           match the way that we do things for ACPI and add documentation to
           Documentation/ABI (Jean Delvare)"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: Work around ia64 build problem with ESRT driver
        efi: Add 'systab' information to Documentation/ABI
        efi: dmi: List SMBIOS3 table before SMBIOS table
        efi/esrt: Fix some compiler warnings
        x86, doc: Remove cmdline_size from list of fields to be filled in for EFI handover
        efi: Add esrt support
        efi: efivar_create_sysfs_entry() should return negative error codes
      cfe3eceb
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5ef6ca4f
      Linus Torvalds authored
      Pull x86 debugging documentation updates from Ingo Molnar:
       "Documentation updates about x86 kernel stacks"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/Documentation: Adapt Ingo's explanation on printing backtraces
        x86/Documentation: Remove STACKFAULT_STACK bulletpoint
        x86/Documentation: Move kernel-stacks doc one level up
      5ef6ca4f
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b3ba283d
      Linus Torvalds authored
      Pull x86 CPU features from Ingo Molnar:
       "Various CPU feature support related changes: in particular the
        /proc/cpuinfo model name sanitization change should be monitored, it
        has a chance to break stuff.  (but really shouldn't and there are no
        regression reports)"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/amd: Give access to the number of nodes in a physical package
        x86/cpu: Trim model ID whitespace
        x86/cpu: Strip any /proc/cpuinfo model name field whitespace
        x86/cpu/amd: Set X86_FEATURE_EXTD_APICID for future processors
        x86/gart: Check for GART support before accessing GART registers
      b3ba283d
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d43e4f44
      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/mm: Clean up types in xlate_dev_mem_ptr() some more
        x86: Deinline dma_free_attrs()
        x86: Deinline dma_alloc_attrs()
        x86: Remove unused TI_cpu
        x86: Merge common 32-bit values in asm-offsets.c
      d43e4f44
    • 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
  2. Jun 22, 2015
  3. Jun 21, 2015
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · d2228e43
      Linus Torvalds authored
      Pull scsi target fixes from Nicholas Bellinger:
       "Apologies for the late pull request.
      
        Here are the outstanding target-pending fixes for v4.1 code.
      
        The series contains three patches from Sagi + Co that address a few
        iser-target issues that have been uncovered during recent testing at
        Mellanox.
      
        Patch #1 has a v3.16+ stable tag, and #2-3 have v3.10+ stable tags"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        iser-target: Fix possible use-after-free
        iser-target: release stale iser connections
        iser-target: Fix variable-length response error completion
      d2228e43
    • 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. Jun 20, 2015
  5. Jun 19, 2015