1. 16 Dec, 2014 19 commits
  2. 10 Dec, 2014 21 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3a5dc1fa
      Linus Torvalds authored
      Pull x86 microcode loading updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Reload microcode when resuming and the case when only the early
           loader has been utilized.  (Borislav Petkov)
      
         - Also, do not load the driver on paravirt guests.  (Boris
           Ostrovsky)"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/intel: Fish out the stashed microcode for the BSP
        x86, microcode: Reload microcode on resume
        x86, microcode: Don't initialize microcode code on paravirt
        x86, microcode, intel: Drop unused parameter
        x86, microcode, AMD: Do not use smp_processor_id() in preemtible context
      3a5dc1fa
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3100e448
      Linus Torvalds authored
      Pull x86 vdso updates from Ingo Molnar:
       "Various vDSO updates from Andy Lutomirski, mostly cleanups and
        reorganization to improve maintainability, but also some
        micro-optimizations and robustization changes"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86_64/vsyscall: Restore orig_ax after vsyscall seccomp
        x86_64: Add a comment explaining the TASK_SIZE_MAX guard page
        x86_64,vsyscall: Make vsyscall emulation configurable
        x86_64, vsyscall: Rewrite comment and clean up headers in vsyscall code
        x86_64, vsyscall: Turn vsyscalls all the way off when vsyscall==none
        x86,vdso: Use LSL unconditionally for vgetcpu
        x86: vdso: Fix build with older gcc
        x86_64/vdso: Clean up vgetcpu init and merge the vdso initcalls
        x86_64/vdso: Remove jiffies from the vvar page
        x86/vdso: Make the PER_CPU segment 32 bits
        x86/vdso: Make the PER_CPU segment start out accessed
        x86/vdso: Change the PER_CPU segment to use struct desc_struct
        x86_64/vdso: Move getcpu code from vsyscall_64.c to vdso/vma.c
        x86_64/vsyscall: Move all of the gate_area code to vsyscall_64.c
      3100e448
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c9f861c7
      Linus Torvalds authored
      Pull x86 RAS update from Ingo Molnar:
       "The biggest change in this cycle is better support for UCNA
        (UnCorrected No Action) events:
      
          "Handle all uncorrected error reports in the same way (soft
           offline the page). We used to only do that for SRAO
           (software recoverable action optional) machine checks, but
           it makes sense to also do it for UCNA (UnCorrected No
           Action) logs found by CMCI or polling."
      
        plus various x86 MCE handling updates and fixes"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Spell "panicked" correctly
        x86, mce: Support memory error recovery for both UCNA and Deferred error in machine_check_poll
        x86, mce, severity: Extend the the mce_severity mechanism to handle UCNA/DEFERRED error
        x86, MCE, AMD: Assign interrupt handler only when bank supports it
        x86, MCE, AMD: Drop software-defined bank in error thresholding
        x86, MCE, AMD: Move invariant code out from loop body
        x86, MCE, AMD: Correct thresholding error logging
        x86, MCE, AMD: Use macros to compute bank MSRs
        RAS, HWPOISON: Fix wrong error recovery status
        GHES: Make ghes_estatus_caches static
        APEI, GHES: Cleanup unnecessary function for lockless list
      c9f861c7
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a023748d
      Linus Torvalds authored
      Pull x86 mm tree changes from Ingo Molnar:
       "The biggest change is full PAT support from Jürgen Gross:
      
           The x86 architecture offers via the PAT (Page Attribute Table) a
           way to specify different caching modes in page table entries.  The
           PAT MSR contains 8 entries each specifying one of 6 possible cache
           modes.  A pte references one of those entries via 3 bits:
           _PAGE_PAT, _PAGE_PWT and _PAGE_PCD.
      
           The Linux kernel currently supports only 4 different cache modes.
           The PAT MSR is set up in a way that the setting of _PAGE_PAT in a
           pte doesn't matter: the top 4 entries in the PAT MSR are the same
           as the 4 lower entries.
      
           This results in the kernel not supporting e.g. write-through mode.
           Especially this cache mode would speed up drivers of video cards
           which now have to use uncached accesses.
      
           OTOH some old processors (Pentium) don't support PAT correctly and
           the Xen hypervisor has been using a different PAT MSR configuration
           for some time now and can't change that as this setting is part of
           the ABI.
      
           This patch set abstracts the cache mode from the pte and introduces
           tables to translate between cache mode and pte bits (the default
           cache mode "write back" is hard-wired to PAT entry 0).  The tables
           are statically initialized with values being compatible to old
           processors and current usage.  As soon as the PAT MSR is changed
           (or - in case of Xen - is read at boot time) the tables are changed
           accordingly.  Requests of mappings with special cache modes are
           always possible now, in case they are not supported there will be a
           fallback to a compatible but slower mode.
      
           Summing it up, this patch set adds the following features:
      
            - capability to support WT and WP cache modes on processors with
              full PAT support
      
            - processors with no or uncorrect PAT support are still working as
              today, even if WT or WP cache mode are selected by drivers for
              some pages
      
            - reduction of Xen special handling regarding cache mode
      
        Another change is a boot speedup on ridiculously large RAM systems,
        plus other smaller fixes"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        x86: mm: Move PAT only functions to mm/pat.c
        xen: Support Xen pv-domains using PAT
        x86: Enable PAT to use cache mode translation tables
        x86: Respect PAT bit when copying pte values between large and normal pages
        x86: Support PAT bit in pagetable dump for lower levels
        x86: Clean up pgtable_types.h
        x86: Use new cache mode type in memtype related functions
        x86: Use new cache mode type in mm/ioremap.c
        x86: Use new cache mode type in setting page attributes
        x86: Remove looking for setting of _PAGE_PAT_LARGE in pageattr.c
        x86: Use new cache mode type in track_pfn_remap() and track_pfn_insert()
        x86: Use new cache mode type in mm/iomap_32.c
        x86: Use new cache mode type in asm/pgtable.h
        x86: Use new cache mode type in arch/x86/mm/init_64.c
        x86: Use new cache mode type in arch/x86/pci
        x86: Use new cache mode type in drivers/video/fbdev/vermilion
        x86: Use new cache mode type in drivers/video/fbdev/gbefb.c
        x86: Use new cache mode type in include/asm/fb.h
        x86: Make page cache mode a real type
        x86: mm: Use 2GB memory block size on large-memory x86-64 systems
        ...
      a023748d
    • Linus Torvalds's avatar
      Merge branches 'x86-platform-for-linus' and 'x86-uv-for-linus' of... · 773fed91
      Linus Torvalds authored
      Merge branches 'x86-platform-for-linus' and 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 platform changes from Ingo Molnar:
       "A handful of numachip APIC driver updates/fixes, and two small SGI/UV
        fixes"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: numachip: APIC driver cleanups
        x86: numachip: Elide self-IPI ICR polling
        x86: numachip: Fix 16-bit APIC ID truncation
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: UV BAU: Increase maximum CPUs per socket/hub
        x86: UV BAU: Avoid NULL pointer reference in ptc_seq_show
      773fed91
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 81395481
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "Changes in this cycle are:
      
         - support module unload for efivarfs (Mathias Krause)
      
         - another attempt at moving x86 to libstub taking advantage of the
           __pure attribute (Ard Biesheuvel)
      
         - add EFI runtime services section to ptdump (Mathias Krause)"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, ptdump: Add section for EFI runtime services
        efi/x86: Move x86 back to libstub
        efivarfs: Allow unloading when build as module
      81395481
    • Linus Torvalds's avatar
      Merge branches 'x86-build-for-linus', 'x86-cleanups-for-linus' and... · 206f18f2
      Linus Torvalds authored
      Merge branches 'x86-build-for-linus', 'x86-cleanups-for-linus' and 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 build, cleanup and defconfig updates from Ingo Molnar:
       "A single minor build change to suppress a repetitive build messages,
        misc cleanups and a defconfig update"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/purgatory, build: Suppress kexec-purgatory.c is up to date message
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, CPU, AMD: Move K8 TLB flush filter workaround to K8 code
        x86, espfix: Remove stale ptemask
        x86, msr: Use seek definitions instead of hard-coded values
        x86, msr: Convert printk to pr_foo()
        x86, msr: Use PTR_ERR_OR_ZERO
        x86/simplefb: Use PTR_ERR_OR_ZERO
        x86/sysfb: Use PTR_ERR_OR_ZERO
        x86, cpuid: Use PTR_ERR_OR_ZERO
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig/defconfig: Enable CONFIG_FHANDLE=y
      206f18f2
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b6444bd0
      Linus Torvalds authored
      Pull x86 boot and percpu updates from Ingo Molnar:
       "This tree contains a bootable images documentation update plus three
        slightly misplaced x86/asm percpu changes/optimizations"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64: Use RIP-relative addressing for most per-CPU accesses
        x86-64: Handle PC-relative relocations on per-CPU data
        x86: Convert a few more per-CPU items to read-mostly ones
        x86, boot: Document intermediates more clearly
      b6444bd0
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d0cf6f5
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "Misc changes:
      
         - context switch micro-optimization
         - debug printout micro-optimization
         - comment enhancements and typo fix"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Replace seq_printf() with seq_puts()
        x86/asm: Fix typo in arch/x86/kernel/asm_offset_64.c
        sched/x86: Add a comment clarifying LDT context switching
        sched/x86_64: Don't save flags on context switch
      9d0cf6f5
    • Linus Torvalds's avatar
      Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8201269
      Linus Torvalds authored
      Pull more 2038 timer work from Thomas Gleixner:
       "Two more patches for the ongoing 2038 work:
      
         - New accessors to clock MONOTONIC and REALTIME seconds
      
        This is a seperate branch as Arnd has follow up work depending on
        this"
      
      * 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME
        timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC
      d8201269
    • Linus Torvalds's avatar
      Merge branch 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3eb5b893
      Linus Torvalds authored
      Pull x86 MPX support from Thomas Gleixner:
       "This enables support for x86 MPX.
      
        MPX is a new debug feature for bound checking in user space.  It
        requires kernel support to handle the bound tables and decode the
        bound violating instruction in the trap handler"
      
      * 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        asm-generic: Remove asm-generic arch_bprm_mm_init()
        mm: Make arch_unmap()/bprm_mm_init() available to all architectures
        x86: Cleanly separate use of asm-generic/mm_hooks.h
        x86 mpx: Change return type of get_reg_offset()
        fs: Do not include mpx.h in exec.c
        x86, mpx: Add documentation on Intel MPX
        x86, mpx: Cleanup unused bound tables
        x86, mpx: On-demand kernel allocation of bounds tables
        x86, mpx: Decode MPX instruction to get bound violation information
        x86, mpx: Add MPX-specific mmap interface
        x86, mpx: Introduce VM_MPX to indicate that a VMA is MPX specific
        x86, mpx: Add MPX to disabled features
        ia64: Sync struct siginfo with general version
        mips: Sync struct siginfo with general version
        mpx: Extend siginfo structure to include bound violation information
        x86, mpx: Rename cfg_reg_u and status_reg
        x86: mpx: Give bndX registers actual names
        x86: Remove arbitrary instruction size limit in instruction decoder
      3eb5b893
    • Linus Torvalds's avatar
      Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e66645d
      Linus Torvalds authored
      Pull irq domain updates from Thomas Gleixner:
       "The real interesting irq updates:
      
         - Support for hierarchical irq domains:
      
           For complex interrupt routing scenarios where more than one
           interrupt related chip is involved we had no proper representation
           in the generic interrupt infrastructure so far.  That made people
           implement rather ugly constructs in their nested irq chip
           implementations.  The main offenders are x86 and arm/gic.
      
           To distangle that mess we have now hierarchical irqdomains which
           seperate the various interrupt chips and connect them via the
           hierarchical domains.  That keeps the domain specific details
           internal to the particular hierarchy level and removes the
           criss/cross referencing of chip internals.  The resulting hierarchy
           for a complex x86 system will look like this:
      
              vector          mapped: 74
                msi-0         mapped: 2
                dmar-ir-1     mapped: 69
                  ioapic-1    mapped: 4
                  ioapic-0    mapped: 20
                  pci-msi-2   mapped: 45
                dmar-ir-0     mapped: 3
                  ioapic-2    mapped: 1
                  pci-msi-1   mapped: 2
                htirq         mapped: 0
      
           Neither ioapic nor pci-msi know about the dmar interrupt remapping
           between themself and the vector domain.  If interrupt remapping is
           disabled ioapic and pci-msi become direct childs of the vector
           domain.
      
           In hindsight we should have done that years ago, but in hindsight
           we always know better :)
      
         - Support for generic MSI interrupt domain handling
      
           We have more and more non PCI related MSI interrupts, so providing
           a generic infrastructure for this is better than having all
           affected architectures implementing their own private hacks.
      
         - Support for PCI-MSI interrupt domain handling, based on the generic
           MSI support.
      
           This part carries the pci/msi branch from Bjorn Helgaas pci tree to
           avoid a massive conflict.  The PCI/MSI parts are acked by Bjorn.
      
        I have two more branches on top of this.  The full conversion of x86
        to hierarchical domains and a partial conversion of arm/gic"
      
      * 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        genirq: Move irq_chip_write_msi_msg() helper to core
        PCI/MSI: Allow an msi_controller to be associated to an irq domain
        PCI/MSI: Provide mechanism to alloc/free MSI/MSIX interrupt from irqdomain
        PCI/MSI: Enhance core to support hierarchy irqdomain
        PCI/MSI: Move cached entry functions to irq core
        genirq: Provide default callbacks for msi_domain_ops
        genirq: Introduce msi_domain_alloc/free_irqs()
        asm-generic: Add msi.h
        genirq: Add generic msi irq domain support
        genirq: Introduce callback irq_chip.irq_write_msi_msg
        genirq: Work around __irq_set_handler vs stacked domains ordering issues
        irqdomain: Introduce helper function irq_domain_add_hierarchy()
        irqdomain: Implement a method to automatically call parent domains alloc/free
        genirq: Introduce helper irq_domain_set_info() to reduce duplicated code
        genirq: Split out flow handler typedefs into seperate header file
        genirq: Add IRQ_SET_MASK_OK_DONE to support stacked irqchip
        genirq: Introduce irq_chip.irq_compose_msi_msg() to support stacked irqchip
        genirq: Add more helper functions to support stacked irq_chip
        genirq: Introduce helper functions to support stacked irq_chip
        irqdomain: Do irq_find_mapping and set_type for hierarchy irqdomain in case OF
        ...
      9e66645d
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ecb50f0a
      Linus Torvalds authored
      Pull irq core updates from Thomas Gleixner:
       "This is the first (boring) part of irq updates:
      
         - support for big endian I/O accessors in the generic irq chip
      
         - cleanup of brcmstb/bcm7120 drivers so they can be reused for non
           ARM SoCs
      
         - the usual pile of fixes and updates for the various ARM irq chips"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        irqchip: dw-apb-ictl: Add PM support
        irqchip: dw-apb-ictl: Enable IRQ_GC_MASK_CACHE_PER_TYPE
        irqchip: dw-apb-ictl: Always use use {readl|writel}_relaxed
        ARM: orion: convert the irq_reg_{readl,writel} calls to the new API
        irqchip: atmel-aic: Add missing entry for rm9200 irq fixups
        irqchip: atmel-aic: Rename at91sam9_aic_irq_fixup for naming consistency
        irqchip: atmel-aic: Add specific irq fixup function for sam9g45 and sam9rl
        irqchip: atmel-aic: Add irq fixups for at91sam926x SoCs
        irqchip: atmel-aic: Add irq fixup for RTT block
        irqchip: brcmstb-l2: Convert driver to use irq_reg_{readl,writel}
        irqchip: bcm7120-l2: Convert driver to use irq_reg_{readl,writel}
        irqchip: bcm7120-l2: Decouple driver from brcmstb-l2
        irqchip: bcm7120-l2: Extend driver to support 64+ bit controllers
        irqchip: bcm7120-l2: Use gc->mask_cache to simplify suspend/resume functions
        irqchip: bcm7120-l2: Fix missing nibble in gc->unused mask
        irqchip: bcm7120-l2: Make sure all register accesses use base+offset
        irqchip: bcm7120-l2, brcmstb-l2: Remove ARM Kconfig dependency
        irqchip: bcm7120-l2: Eliminate bad IRQ check
        irqchip: brcmstb-l2: Eliminate dependency on ARM code
        genirq: Generic chip: Add big endian I/O accessors
        ...
      ecb50f0a
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a157508c
      Linus Torvalds authored
      Pull timer core updates from Thomas Gleixner:
       "The time(r) departement provides:
      
         - more infrastructure work on the year 2038 issue
      
         - a few fixes in the Armada SoC timers
      
         - the usual pile of fixlets and improvements"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: armada-370-xp: Use the reference clock on A375 SoC
        watchdog: orion: Use the reference clock on Armada 375 SoC
        clocksource: armada-370-xp: Add missing clock enable
        time: Fix sign bug in NTP mult overflow warning
        time: Remove timekeeping_inject_sleeptime()
        rtc: Update suspend/resume timing to use 64bit time
        rtc/lib: Provide y2038 safe rtc_tm_to_time()/rtc_time_to_tm() replacement
        time: Fixup comments to reflect usage of timespec64
        time: Expose get_monotonic_coarse64() for in-kernel uses
        time: Expose getrawmonotonic64 for in-kernel uses
        time: Provide y2038 safe mktime() replacement
        time: Provide y2038 safe timekeeping_inject_sleeptime() replacement
        time: Provide y2038 safe do_settimeofday() replacement
        time: Complete NTP adjustment threshold judging conditions
        time: Avoid possible NTP adjustment mult overflow.
        time: Rename udelay_test.c to test_udelay.c
        clocksource: sirf: Remove hard-coded clock rate
      a157508c
    • Borislav Petkov's avatar
      x86/microcode/intel: Fish out the stashed microcode for the BSP · 25cdb9c8
      Borislav Petkov authored
      I'm such a moron! The simple solution of saving the BSP patch
      for use on resume was too simple (and wrong!), hint:
      sizeof(struct microcode_intel).
      
      What needs to be done instead is to fish out the microcode patch
      we have stashed previously and apply that on the BSP in case the
      late loader hasn't been utilized.
      
      So do that instead.
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20141208110820.GB20057@pd.tnicSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      25cdb9c8
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 86c6a2fd
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - 'Nested Sleep Debugging', activated when CONFIG_DEBUG_ATOMIC_SLEEP=y.
      
           This instruments might_sleep() checks to catch places that nest
           blocking primitives - such as mutex usage in a wait loop.  Such
           bugs can result in hard to debug races/hangs.
      
           Another category of invalid nesting that this facility will detect
           is the calling of blocking functions from within schedule() ->
           sched_submit_work() -> blk_schedule_flush_plug().
      
           There's some potential for false positives (if secondary blocking
           primitives themselves are not ready yet for this facility), but the
           kernel will warn once about such bugs per bootup, so the warning
           isn't much of a nuisance.
      
           This feature comes with a number of fixes, for problems uncovered
           with it, so no messages are expected normally.
      
         - Another round of sched/numa optimizations and refinements, for
           CONFIG_NUMA_BALANCING=y.
      
         - Another round of sched/dl fixes and refinements.
      
        Plus various smaller fixes and cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        sched: Add missing rcu protection to wake_up_all_idle_cpus
        sched/deadline: Introduce start_hrtick_dl() for !CONFIG_SCHED_HRTICK
        sched/numa: Init numa balancing fields of init_task
        sched/deadline: Remove unnecessary definitions in cpudeadline.h
        sched/cpupri: Remove unnecessary definitions in cpupri.h
        sched/deadline: Fix rq->dl.pushable_tasks bug in push_dl_task()
        sched/fair: Fix stale overloaded status in the busiest group finding logic
        sched: Move p->nr_cpus_allowed check to select_task_rq()
        sched/completion: Document when to use wait_for_completion_io_*()
        sched: Update comments about CLONE_NEWUTS and CLONE_NEWIPC
        sched/fair: Kill task_struct::numa_entry and numa_group::task_list
        sched: Refactor task_struct to use numa_faults instead of numa_* pointers
        sched/deadline: Don't check CONFIG_SMP in switched_from_dl()
        sched/deadline: Reschedule from switched_from_dl() after a successful pull
        sched/deadline: Push task away if the deadline is equal to curr during wakeup
        sched/deadline: Add deadline rq status print
        sched/deadline: Fix artificial overrun introduced by yield_task_dl()
        sched/rt: Clean up check_preempt_equal_prio()
        sched/core: Use dl_bw_of() under rcu_read_lock_sched()
        sched: Check if we got a shallowest_idle_cpu before searching for least_loaded_cpu
        ...
      86c6a2fd
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bee2782f
      Linus Torvalds authored
      Pull leftover perf fixes from Ingo Molnar:
       "Two perf fixes left over from the previous cycle"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf session: Do not fail on processing out of order event
        x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs
      bee2782f
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5706ffd0
      Linus Torvalds authored
      Pull perf events update from Ingo Molnar:
       "On the kernel side there's few changes, the one that stands out is
        PEBS machine state sampling support on x86, by Stephane Eranian.
      
        On the tooling side:
      
        User visible tooling changes:
      
         - Don't open the DWARF info multiple times, keeping instead a dwfl
           handle in struct dso, greatly speeding up 'perf report' on powerpc.
           (Sukadev Bhattiprolu)
      
         - Introduce PARSE_OPT_DISABLED option flag and use it to avoid
           showing undersired options in tools that provides frontends to
           'perf record', like sched, kvm, etc (Namhyung Kim)
      
         - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo
           Carvalho de Melo)
      
         - Fix annotation with kcore (Adrian Hunter)
      
         - Support source line numbers in annotate using a hotkey (Andi Kleen)
      
         - Callchain improvements including:
           * Enable printing the srcline in the history
           * Make get_srcline fall back to sym+offset (Andi Kleen)
      
         - TUI hist_entry browser fixes, including showing missing overhead
           value for first level callchain.  Detected comparing the output of
           --stdio/--gui (that matched) with --tui, that had this problem.
           (Namhyung Kim)
      
         - Support handling complete branch stacks as histograms (Andi Kleen)
      
        Tooling infrastructure changes:
      
         - Prep work for supporting per-pkg and snapshot counters in 'perf
           stat' (Jiri Olsa)
      
         - 'perf stat' refactorings, moving stuff from it to evsel.c to use in
           per-pkg/snapshot format changes (Jiri Olsa)
      
         - Add per-pkg format file parsing (Matt Fleming)
      
         - Clean up libelf feature support code (Namhyung Kim)
      
         - Add gzip decompression support for kernel modules (Namhyung Kim)
      
         - More prep patches for Intel PT, including a a thread stack and more
           stuff made available via the database export mechanism (Adrian
           Hunter)
      
         - More Intel PT work, including a facility to export sample data
           (comms, threads, symbol names, etc) in a database friendly way,
           with an script to use this to create a postgresql database.
           (Adrian Hunter)
      
         - Make sure that thread->mg->machine points to the machine where the
           thread exists (it was being set only for the kmaps kernel modules
           case, do it as well for the mmaps) and use it to shorten function
           signatures (Arnaldo Carvalho de Melo)
      
        ... and lots of other fixes and smaller improvements"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
        perf report: In branch stack mode use address history sorting
        perf report: Add --branch-history option
        perf callchain: Support handling complete branch stacks as histograms
        perf stat: Add support for snapshot counters
        perf stat: Add support for per-pkg counters
        perf tools: Remove perf_evsel__read interface
        perf stat: Use read_counter in read_counter_aggr
        perf stat: Make read_counter work over the thread dimension
        perf stat: Use perf_evsel__read_cb in read_counter
        perf tools: Add snapshot format file parsing
        perf tools: Add per-pkg format file parsing
        perf evsel: Introduce perf_evsel__read_cb function
        perf evsel: Introduce perf_counts_values__scale function
        perf evsel: Introduce perf_evsel__compute_deltas function
        perf tools: Allow to force redirect pr_debug to stderr.
        perf tools: Fix segfault due to invalid kernel dso access
        perf callchain: Make get_srcline fall back to sym+offset
        perf symbols: Move bfd_demangle stubbing to its only user
        perf callchain: Enable printing the srcline in the history
        perf tools: Collapse first level callchain entry if it has sibling
        ...
      5706ffd0
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3011060
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "These are the main changes in this cycle:
      
          - Streamline RCU's use of per-CPU variables, shifting from "cpu"
            arguments to functions to "this_"-style per-CPU variable
            accessors.
      
          - signal-handling RCU updates.
      
          - real-time updates.
      
          - torture-test updates.
      
          - miscellaneous fixes.
      
          - documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        rcu: Fix FIXME in rcu_tasks_kthread()
        rcu: More info about potential deadlocks with rcu_read_unlock()
        rcu: Optimize cond_resched_rcu_qs()
        rcu: Add sparse check for RCU_INIT_POINTER()
        documentation: memory-barriers.txt: Correct example for reorderings
        documentation: Add atomic_long_t to atomic_ops.txt
        documentation: Additional restriction for control dependencies
        documentation: Document RCU self test boot params
        rcutorture: Fix rcu_torture_cbflood() memory leak
        rcutorture: Remove obsolete kversion param in kvm.sh
        rcutorture: Remove stale test configurations
        rcutorture: Enable RCU self test in configs
        rcutorture: Add early boot self tests
        torture: Run Linux-kernel binary out of results directory
        cpu: Avoid puts_pending overflow
        rcu: Remove "cpu" argument to rcu_cleanup_after_idle()
        rcu: Remove "cpu" argument to rcu_prepare_for_idle()
        rcu: Remove "cpu" argument to rcu_needs_cpu()
        rcu: Remove "cpu" argument to rcu_note_context_switch()
        rcu: Remove "cpu" argument to rcu_preempt_check_callbacks()
        ...
      c3011060
    • Linus Torvalds's avatar
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c37f959
      Linus Torvalds authored
      Pull locking tree changes from Ingo Molnar:
       "Two changes: a documentation update and a ticket locks live lock fix"
      
      * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ticketlock: Fix spin_unlock_wait() livelock
        locking/lglocks: Add documentation of current lglocks implementation
      9c37f959
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a0e44677
      Linus Torvalds authored
      Pull asm-generic asm/io.h rewrite from Arnd Bergmann:
       "While there normally is no reason to have a pull request for
        asm-generic but have all changes get merged through whichever tree
        needs them, I do have a series for 3.19.
      
        There are two sets of patches that change significant portions of
        asm/io.h, and this branch contains both in order to resolve the
        conflicts:
      
         - Will Deacon has done a set of patches to ensure that all
           architectures define {read,write}{b,w,l,q}_relaxed() functions or
           get them by including asm-generic/io.h.
      
           These functions are commonly used on ARM specific drivers to avoid
           expensive L2 cache synchronization implied by the normal
           {read,write}{b,w,l,q}, but we need to define them on all
           architectures in order to share the drivers across architectures
           and to enable CONFIG_COMPILE_TEST configurations for them
      
         - Thierry Reding has done an unrelated set of patches that extends
           the asm-generic/io.h file to the degree necessary to make it useful
           on ARM64 and potentially other architectures"
      
      * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (29 commits)
        ARM64: use GENERIC_PCI_IOMAP
        sparc: io: remove duplicate relaxed accessors on sparc32
        ARM: sa11x0: Use void __iomem * in MMIO accessors
        arm64: Use include/asm-generic/io.h
        ARM: Use include/asm-generic/io.h
        asm-generic/io.h: Implement generic {read,write}s*()
        asm-generic/io.h: Reconcile I/O accessor overrides
        /dev/mem: Use more consistent data types
        Change xlate_dev_{kmem,mem}_ptr() prototypes
        ARM: ixp4xx: Properly override I/O accessors
        ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI
        ARM: ebsa110: Properly override I/O accessors
        ARC: Remove redundant PCI_IOBASE declaration
        documentation: memory-barriers: clarify relaxed io accessor semantics
        x86: io: implement dummy relaxed accessor macros for writes
        tile: io: implement dummy relaxed accessor macros for writes
        sparc: io: implement dummy relaxed accessor macros for writes
        powerpc: io: implement dummy relaxed accessor macros for writes
        parisc: io: implement dummy relaxed accessor macros for writes
        mn10300: io: implement dummy relaxed accessor macros for writes
        ...
      a0e44677