1. 25 Jan, 2014 9 commits
    • Ingo Molnar's avatar
      Merge branch 'linus' into x86/urgent · 2b45e0f9
      Ingo Molnar authored
      Merge in the x86 changes to apply a fix.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      2b45e0f9
    • Toshi Kani's avatar
      arch/x86/mm/srat: Skip NUMA_NO_NODE while parsing SLIT · a85eba88
      Toshi Kani authored
      When ACPI SLIT table has an I/O locality (i.e. a locality
      unique to an I/O device), numa_set_distance() emits this warning
      message:
      
       NUMA: Warning: node ids are out of bound, from=-1 to=-1 distance=10
      
      acpi_numa_slit_init() calls numa_set_distance() with
      pxm_to_node(), which assumes that all localities have been
      parsed with SRAT previously.  SRAT does not list I/O localities,
      where as SLIT lists all localities including I/Os.  Hence,
      pxm_to_node() returns NUMA_NO_NODE (-1) for an I/O locality.
      
      I/O localities are not supported and are ignored today, but emitting
      such warning message leads to unnecessary confusion.
      
      Change acpi_numa_slit_init() to avoid calling
      numa_set_distance() with NUMA_NO_NODE.
      Signed-off-by: default avatarToshi Kani <toshi.kani@hp.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Link: http://lkml.kernel.org/n/tip-dSvpjjvp8aMzs1ybkftxohlh@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      a85eba88
    • Mel Gorman's avatar
      mm, x86: Revisit tlb_flushall_shift tuning for page flushes except on IvyBridge · b9a3b4c9
      Mel Gorman authored
      There was a large ebizzy performance regression that was
      bisected to commit 611ae8e3 (x86/tlb: enable tlb flush range
      support for x86).  The problem was related to the
      tlb_flushall_shift tuning for IvyBridge which was altered.  The
      problem is that it is not clear if the tuning values for each
      CPU family is correct as the methodology used to tune the values
      is unclear.
      
      This patch uses a conservative tlb_flushall_shift value for all
      CPU families except IvyBridge so the decision can be revisited
      if any regression is found as a result of this change.
      IvyBridge is an exception as testing with one methodology
      determined that the value of 2 is acceptable.  Details are in
      the changelog for the patch "x86: mm: Change tlb_flushall_shift
      for IvyBridge".
      
      One important aspect of this to watch out for is Xen.  The
      original commit log mentioned large performance gains on Xen.
      It's possible Xen is more sensitive to this value if it flushes
      small ranges of pages more frequently than workloads on bare
      metal typically do.
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Tested-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alex Shi <alex.shi@linaro.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-dyzMww3fqugnhbhgo6Gxmtkw@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b9a3b4c9
    • Mel Gorman's avatar
      x86: mm: change tlb_flushall_shift for IvyBridge · f98b7a77
      Mel Gorman authored
      There was a large performance regression that was bisected to
      commit 611ae8e3 ("x86/tlb: enable tlb flush range support for
      x86").  This patch simply changes the default balance point
      between a local and global flush for IvyBridge.
      
      In the interest of allowing the tests to be reproduced, this
      patch was tested using mmtests 0.15 with the following
      configurations
      
      	configs/config-global-dhp__tlbflush-performance
      	configs/config-global-dhp__scheduler-performance
      	configs/config-global-dhp__network-performance
      
      Results are from two machines
      
      Ivybridge   4 threads:  Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz
      Ivybridge   8 threads:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
      
      Page fault microbenchmark showed nothing interesting.
      
      Ebizzy was configured to run multiple iterations and threads.
      Thread counts ranged from 1 to NR_CPUS*2. For each thread count,
      it ran 100 iterations and each iteration lasted 10 seconds.
      
      Ivybridge 4 threads
                          3.13.0-rc7            3.13.0-rc7
                             vanilla           altshift-v3
      Mean   1     6395.44 (  0.00%)     6789.09 (  6.16%)
      Mean   2     7012.85 (  0.00%)     8052.16 ( 14.82%)
      Mean   3     6403.04 (  0.00%)     6973.74 (  8.91%)
      Mean   4     6135.32 (  0.00%)     6582.33 (  7.29%)
      Mean   5     6095.69 (  0.00%)     6526.68 (  7.07%)
      Mean   6     6114.33 (  0.00%)     6416.64 (  4.94%)
      Mean   7     6085.10 (  0.00%)     6448.51 (  5.97%)
      Mean   8     6120.62 (  0.00%)     6462.97 (  5.59%)
      
      Ivybridge 8 threads
                           3.13.0-rc7            3.13.0-rc7
                              vanilla           altshift-v3
      Mean   1      7336.65 (  0.00%)     7787.02 (  6.14%)
      Mean   2      8218.41 (  0.00%)     9484.13 ( 15.40%)
      Mean   3      7973.62 (  0.00%)     8922.01 ( 11.89%)
      Mean   4      7798.33 (  0.00%)     8567.03 (  9.86%)
      Mean   5      7158.72 (  0.00%)     8214.23 ( 14.74%)
      Mean   6      6852.27 (  0.00%)     7952.45 ( 16.06%)
      Mean   7      6774.65 (  0.00%)     7536.35 ( 11.24%)
      Mean   8      6510.50 (  0.00%)     6894.05 (  5.89%)
      Mean   12     6182.90 (  0.00%)     6661.29 (  7.74%)
      Mean   16     6100.09 (  0.00%)     6608.69 (  8.34%)
      
      Ebizzy hits the worst case scenario for TLB range flushing every
      time and it shows for these Ivybridge CPUs at least that the
      default choice is a poor on.  The patch addresses the problem.
      
      Next was a tlbflush microbenchmark written by Alex Shi at
      http://marc.info/?l=linux-kernel&m=133727348217113 .  It
      measures access costs while the TLB is being flushed.  The
      expectation is that if there are always full TLB flushes that
      the benchmark would suffer and it benefits from range flushing
      
      There are 320 iterations of the test per thread count.  The
      number of entries is randomly selected with a min of 1 and max
      of 512.  To ensure a reasonably even spread of entries, the full
      range is broken up into 8 sections and a random number selected
      within that section.
      
      iteration 1, random number between 0-64
      iteration 2, random number between 64-128 etc
      
      This is still a very weak methodology.  When you do not know
      what are typical ranges, random is a reasonable choice but it
      can be easily argued that the opimisation was for smaller ranges
      and an even spread is not representative of any workload that
      matters.  To improve this, we'd need to know the probability
      distribution of TLB flush range sizes for a set of workloads
      that are considered "common", build a synthetic trace and feed
      that into this benchmark.  Even that is not perfect because it
      would not account for the time between flushes but there are
      limits of what can be reasonably done and still be doing
      something useful.  If a representative synthetic trace is
      provided then this benchmark could be revisited and the shift values retuned.
      
      Ivybridge 4 threads
                              3.13.0-rc7            3.13.0-rc7
                                 vanilla           altshift-v3
      Mean       1       10.50 (  0.00%)       10.50 (  0.03%)
      Mean       2       17.59 (  0.00%)       17.18 (  2.34%)
      Mean       3       22.98 (  0.00%)       21.74 (  5.41%)
      Mean       5       47.13 (  0.00%)       46.23 (  1.92%)
      Mean       8       43.30 (  0.00%)       42.56 (  1.72%)
      
      Ivybridge 8 threads
                               3.13.0-rc7            3.13.0-rc7
                                  vanilla           altshift-v3
      Mean       1         9.45 (  0.00%)        9.36 (  0.93%)
      Mean       2         9.37 (  0.00%)        9.70 ( -3.54%)
      Mean       3         9.36 (  0.00%)        9.29 (  0.70%)
      Mean       5        14.49 (  0.00%)       15.04 ( -3.75%)
      Mean       8        41.08 (  0.00%)       38.73 (  5.71%)
      Mean       13       32.04 (  0.00%)       31.24 (  2.49%)
      Mean       16       40.05 (  0.00%)       39.04 (  2.51%)
      
      For both CPUs, average access time is reduced which is good as
      this is the benchmark that was used to tune the shift values in
      the first place albeit it is now known *how* the benchmark was
      used.
      
      The scheduler benchmarks were somewhat inconclusive.  They
      showed gains and losses and makes me reconsider how stable those
      benchmarks really are or if something else might be interfering
      with the test results recently.
      
      Network benchmarks were inconclusive.  Almost all results were
      flat except for netperf-udp tests on the 4 thread machine.
      These results were unstable and showed large variations between
      reboots.  It is unknown if this is a recent problems but I've
      noticed before that netperf-udp results tend to vary.
      
      Based on these results, changing the default for Ivybridge seems
      like a logical choice.
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Tested-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Reviewed-by: default avatarAlex Shi <alex.shi@linaro.org>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-cqnadffh1tiqrshthRj3Esge@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      f98b7a77
    • Mel Gorman's avatar
      x86/mm: Eliminate redundant page table walk during TLB range flushing · 71b54f82
      Mel Gorman authored
      When choosing between doing an address space or ranged flush,
      the x86 implementation of flush_tlb_mm_range takes into account
      whether there are any large pages in the range.  A per-page
      flush typically requires fewer entries than would covered by a
      single large page and the check is redundant.
      
      There is one potential exception.  THP migration flushes single
      THP entries and it conceivably would benefit from flushing a
      single entry instead of the mm.  However, this flush is after a
      THP allocation, copy and page table update potentially with any
      other threads serialised behind it.  In comparison to that, the
      flush is noise.  It makes more sense to optimise balancing to
      require fewer flushes than to optimise the flush itself.
      
      This patch deletes the redundant huge page check.
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Tested-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alex Shi <alex.shi@linaro.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-sgei1drpOcburujPsfh6ovmo@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      71b54f82
    • Mel Gorman's avatar
      x86/mm: Clean up inconsistencies when flushing TLB ranges · 15aa3682
      Mel Gorman authored
      NR_TLB_LOCAL_FLUSH_ALL is not always accounted for correctly and
      the comparison with total_vm is done before taking
      tlb_flushall_shift into account.  Clean it up.
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Tested-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Reviewed-by: default avatarAlex Shi <alex.shi@linaro.org>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Hugh Dickins <hughd@google.com>
      Link: http://lkml.kernel.org/n/tip-Iz5gcahrgskIldvukulzi0hh@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      15aa3682
    • Mel Gorman's avatar
      mm, x86: Account for TLB flushes only when debugging · ec659934
      Mel Gorman authored
      Bisection between 3.11 and 3.12 fingered commit 9824cf97 ("mm:
      vmstats: tlb flush counters") to cause overhead problems.
      
      The counters are undeniably useful but how often do we really
      need to debug TLB flush related issues?  It does not justify
      taking the penalty everywhere so make it a debugging option.
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Tested-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
      Reviewed-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Alex Shi <alex.shi@linaro.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-XzxjntugxuwpxXhcrxqqh53b@git.kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ec659934
    • Dan Carpenter's avatar
      x86/AMD/NB: Fix amd_set_subcaches() parameter type · 2993ae33
      Dan Carpenter authored
      This is under CAP_SYS_ADMIN, but Smatch complains that mask comes
      from the user and the test for "mask > 0xf" can underflow.
      
      The fix is simple: amd_set_subcaches() should hand down not an 'int'
      but an 'unsigned long' like it was originally indended to do.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Daniel J Blueman <daniel@numascale-asia.com>
      Link: http://lkml.kernel.org/r/20140121072209.GA22095@elgon.mountainSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      2993ae33
    • Aravind Gopalakrishnan's avatar
      x86/quirks: Add workaround for AMD F16h Erratum792 · fb53a1ab
      Aravind Gopalakrishnan authored
      The workaround for this Erratum is included in AGESA. But BIOSes
      spun only after Jan2014 will have the fix (atleast server
      versions of the chip). The erratum affects both embedded and
      server platforms and since we cannot say with certainity that
      ALL BIOSes on systems out in the field will have the fix, we
      should probably insulate ourselves in case BIOS does not do the
      right thing or someone is using old BIOSes.
      
      Refer to Revision Guide for AMD F16h models 00h-0fh, document 51810
      Rev. 3.04, November2013 for details on the Erratum.
      
      Tested the patch on Fam16h server platform and it works fine.
      Signed-off-by: default avatarAravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
      Cc: <hmh@hmh.eng.br>
      Cc: <Kim.Naru@amd.com>
      Cc: <Suravee.Suthikulpanit@amd.com>
      Cc: <bp@suse.de>
      Cc: <sherry.hurwitz@amd.com>
      Link: http://lkml.kernel.org/r/1390515212-1824-1-git-send-email-Aravind.Gopalakrishnan@amd.com
      [ Minor edits. ]
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      fb53a1ab
  2. 20 Jan, 2014 31 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 15c81026
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86/mpx' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c9cdd9a6
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4bcd8cc
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fe67a11
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fab5669d
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 74e8ee82
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8bd6964c
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2bb2c5e2
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4500cf60
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 972d5e7e
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5d4863e4
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2a0fede9
      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, 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
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 06bc0f4a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4cd41569
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a7dbbcc
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c646143
      Linus Torvalds authored
      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
    • Ingo Molnar's avatar
      x86/intel/mpx: Remove unused LWP structure · 741e3902
      Ingo Molnar authored
      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: default avatarIngo Molnar <mingo@kernel.org>
      741e3902
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a0fa1dd3
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9326657a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2cc3f16c
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'core-stackprotector-for-linus' of... · ad3ab302
      Linus Torvalds authored
      Merge branch 'core-stackprotector-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull strong stackprotector support from Ingo Molnar:
       "This tree adds a CONFIG_CC_STACKPROTECTOR_STRONG=y, a new, stronger
        stack canary checking method supported by the newest GCC versions (4.9
        and later).
      
        Here's the 'intensity comparison' between the various protection
        modes:
      
            - defconfig
              11430641 kernel text size
              36110 function bodies
      
            - defconfig + CONFIG_CC_STACKPROTECTOR_REGULAR
              11468490 kernel text size (+0.33%)
              1015 of 36110 functions are stack-protected (2.81%)
      
            - defconfig + CONFIG_CC_STACKPROTECTOR_STRONG via this patch
              11692790 kernel text size (+2.24%)
              7401 of 36110 functions are stack-protected (20.5%)
      
        the strong model comes with non-trivial costs, which is why we
        preserved the 'regular' and 'none' models as well"
      
      * 'core-stackprotector-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        stackprotector: Introduce CONFIG_CC_STACKPROTECTOR_STRONG
        stackprotector: Unify the HAVE_CC_STACKPROTECTOR logic between architectures
      ad3ab302
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a693c46e
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       - add RCU torture scripts/tooling
       - static analysis improvements
       - update RCU documentation
       - miscellaneous fixes
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
        rcu: Remove "extern" from function declarations in kernel/rcu/rcu.h
        rcu: Remove "extern" from function declarations in include/linux/*rcu*.h
        rcu/torture: Dynamically allocate SRCU output buffer to avoid overflow
        rcu: Don't activate RCU core on NO_HZ_FULL CPUs
        rcu: Warn on allegedly impossible rcu_read_unlock_special() from irq
        rcu: Add an RCU_INITIALIZER for global RCU-protected pointers
        rcu: Make rcu_assign_pointer's assignment volatile and type-safe
        bonding: Use RCU_INIT_POINTER() for better overhead and for sparse
        rcu: Add comment on evaluate-once properties of rcu_assign_pointer().
        rcu: Provide better diagnostics for blocking in RCU callback functions
        rcu: Improve SRCU's grace-period comments
        rcu: Fix CONFIG_RCU_FANOUT_EXACT for odd fanout/leaf values
        rcu: Fix coccinelle warnings
        rcutorture: Stop tracking FSF's postal address
        rcutorture: Move checkarg to functions.sh
        rcutorture: Flag errors and warnings with color coding
        rcutorture: Record results from repeated runs of the same test scenario
        rcutorture: Test summary at end of run with less chattiness
        rcutorture: Update comment in kvm.sh listing typical RCU trace events
        rcutorture: Add tracing-enabled version of TREE08
        ...
      a693c46e
    • Linus Torvalds's avatar
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6ffbe7d1
      Linus Torvalds authored
      Pull core locking changes from Ingo Molnar:
       - futex performance increases: larger hashes, smarter wakeups
       - mutex debugging improvements
       - lots of SMP ordering documentation updates
       - introduce the smp_load_acquire(), smp_store_release() primitives.
         (There are WIP patches that make use of them - not yet merged)
       - lockdep micro-optimizations
       - lockdep improvement: better cover IRQ contexts
       - liblockdep at last. We'll continue to monitor how useful this is
      
      * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        futexes: Fix futex_hashsize initialization
        arch: Re-sort some Kbuild files to hopefully help avoid some conflicts
        futexes: Avoid taking the hb->lock if there's nothing to wake up
        futexes: Document multiprocessor ordering guarantees
        futexes: Increase hash table size for better performance
        futexes: Clean up various details
        arch: Introduce smp_load_acquire(), smp_store_release()
        arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h
        arch: Move smp_mb__{before,after}_atomic_{inc,dec}.h into asm/atomic.h
        locking/doc: Rename LOCK/UNLOCK to ACQUIRE/RELEASE
        mutexes: Give more informative mutex warning in the !lock->owner case
        powerpc: Full barrier for smp_mb__after_unlock_lock()
        rcu: Apply smp_mb__after_unlock_lock() to preserve grace periods
        Documentation/memory-barriers.txt: Downgrade UNLOCK+BLOCK
        locking: Add an smp_mb__after_unlock_lock() for UNLOCK+BLOCK barrier
        Documentation/memory-barriers.txt: Document ACCESS_ONCE()
        Documentation/memory-barriers.txt: Prohibit speculative writes
        Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt
        Documentation/memory-barriers.txt: Add needed ACCESS_ONCE() calls to memory-barriers.txt
        Revert "smp/cpumask: Make CONFIG_CPUMASK_OFFSTACK=y usable without debug dependency"
        ...
      6ffbe7d1
    • Linus Torvalds's avatar
      Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 897aea30
      Linus Torvalds authored
      Pull core debug changes from Ingo Molnar:
       "Currently there are two methods to set the panic_timeout: via
        'panic=X' boot commandline option, or via /proc/sys/kernel/panic.
      
        This tree adds a third panic_timeout configuration method:
        configuration via Kconfig, via CONFIG_PANIC_TIMEOUT=X - useful to
        distros that generally want their kernel defaults to come with the
        .config.
      
        CONFIG_PANIC_TIMEOUT defaults to 0, which was the previous default
        value of panic_timeout.
      
        Doing that unearthed a few arch trickeries regarding arch-special
        panic_timeout values and related complications - hopefully all
        resolved to the satisfaction of everyone"
      
      * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        powerpc: Clean up panic_timeout usage
        MIPS: Remove panic_timeout settings
        panic: Make panic_timeout configurable
      897aea30
    • Alan's avatar
      x86, doc, kconfig: Fix dud URL for Microcode data · b8989db9
      Alan authored
      The actual data lives in the Intel download center, and that ought to also
      be a reliable way to continue to find it. Unfortunately the actual URL
      needed for doing it directly is about a foot long so give instructions.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Link: http://lkml.kernel.org/r/20140120180056.7173.62222.stgit@alan.etchedpixels.co.ukSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      b8989db9
    • Linus Torvalds's avatar
      Merge tag 'ktest-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · 9451ee2d
      Linus Torvalds authored
      Pull ktest updates from Steven Rostedt:
       "Here's some basic updates to ktest.pl.  They include:
      
         - add config to modify the signal to terminate console
         - update to documentation (missing some config options)
         - add KERNEL_VERSION variable to use for other configs
         - add '=~' to let configs eval other configs
         - add BISECT_TRIES to run multiple tests per git bisect good"
      
      * tag 'ktest-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Add BISECT_TRIES to bisect test
        ktest: Add eval '=~' command to modify variables in config file
        ktest: Add special variable ${KERNEL_VERSION}
        ktest: Add documentation of CLOSE_CONSOLE_SIGNAL
        ktest: Make the signal to terminate the console configurable
      9451ee2d
    • Linus Torvalds's avatar
      Merge tag 'localmodconfig-v3.14' of... · edde1fb8
      Linus Torvalds authored
      Merge tag 'localmodconfig-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig
      
      Pull localmodconfig update from Steven Rostedt:
       "While debugging the problem with localmodconfig and the ALSA codec
        modules all being set, I discovered a small bug in the dependency
        logic.
      
        If a config has a dependency based on its setting value,
        localmodcondig misses it.
      
        For example:
      
          config FOO
              default y if BAR || ZOO
      
        If FOO is needed for a module and is set to '=m', and so are BAR or
        ZOO, localmodconfig will not see that BAR or ZOO are also needed for
        the foo module, and will incorrectly disable them"
      
      * tag 'localmodconfig-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-kconfig:
        localmodconfig: Add config depends by default settings
      edde1fb8
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 561a60f0
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "Add support for Kaveri CPUs to k10temp driver.  Add support for S12x0
        to coretemp driver.
      
        Cleanup and minor fixes in several drivers.  Notable are 'Do not
        return -EAGAIN for low temperatures' to coretemp and 'Re-enable
        logical device mapping for NCT6791 during resume' to nct6775.  Both
        will be sent to -stable, but only after some time in mainline"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (k10temp) Add support for Kaveri CPUs
        hwmon: (sht15) add include guard
        hwmon: (max197) add include guard
        hwmon: (nct6775) Re-enable logical device mapping for NCT6791 during resume
        hwmon: (s3c) Trivial cleanup in hwmon-s3c.h
        hwmon: (coretemp) Do not return -EAGAIN for low temperatures
        hwmon: (da9052) Fix adc to voltage calculation
        hwmon: (coretemp) Refine TjMax detection
        hwmon: (coretemp) Add PCI device ID for CE41x0 CPUs
        hwmon: (coretemp) Use PCI host bridge ID to identify CPU if necessary
        hwmon: remove DEFINE_PCI_DEVICE_TABLE macro
      561a60f0
    • Linus Torvalds's avatar
      Merge tag 'please-pull-rm_xen' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · db4fcb45
      Linus Torvalds authored
      Pull ia64 Xen removal from Tony Luck:
       "Nobody has been maintaining xen in ia64 for a long time.  Rip it all
        out so people do not waste time making updates to broken/dead code"
      
      * tag 'please-pull-rm_xen' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        ia64/xen: Remove Xen support for ia64
      db4fcb45
    • Linus Torvalds's avatar
      Merge tag 'edac_for_3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 09854dde
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       - mpc85xx PCIe error interrupt support
       - misc small enhancements/fixes all over the place.
      
      * tag 'edac_for_3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC: Don't try to cancel workqueue when it's never setup
        e752x_edac: Fix pci_dev usage count
        sb_edac: Mark get_mci_for_node_id as static
        EDAC: Mark edac_create_debug_nodes as static
        amd64_edac: Remove "amd64" prefix from static functions
        amd64_edac: Simplify code around decode_bus_error
        amd64_edac: Mark amd64_decode_bus_error as static
        EDAC: Remove DEFINE_PCI_DEVICE_TABLE macro
        amd64_edac: Fix condition to verify max channels allowed for F15 M30h
        edac/85xx: Add PCIe error interrupt edac support
      09854dde
    • Linus Torvalds's avatar
      Merge tag 'metag-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · a1a3b3ef
      Linus Torvalds authored
      Pull Metag architecture changes from James Hogan:
       - A few cleanups and minor bug fixes.
       - Kill SMP single function call IPI.
      
      * tag 'metag-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        metag/smp: Make boot_secondary() static
        metag: topology: export 'cpu_core_map'
        smp, metag: kill SMP single function call interrupt
        metag: smp: don't set irq regs in do_IPI()
        metag: dma: remove dead code in dma_alloc_init()
      a1a3b3ef