29 Jul, 2015

1 commit


22 Jul, 2015

18 commits

  • A hardware problem on a FICON link is reported by the Channel Subsystem
    to the operating system via a Link Incident Record (LIR). In response,
    the operating system should issue a message that enables hardware
    service personnel to identify and repair the failing component.

    Current Linux LIR handling is broken because LIR data is incorrectly
    interpreted and no log message is generated.

    This patch fixes Linux LIR handling by implementing a new log message
    for LIRs indicating a degraded or non-operational link. Also LIRs are
    no longer used to deactivate channel paths because the available data
    does not reliably allow to determine the affected channel path.

    Signed-off-by: Peter Oberparleiter
    Reviewed-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • After dutifully acting as statement separator for 6 long years, this
    comma has finally grown into a full semicolon.

    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • Dropping kernel messages during a console-buffer-full condition
    is preferable to halting the system until console messages are
    delivered, especially for production systems.

    Update default for sclp_console_drop kernel parameter accordingly.

    Signed-off-by: Peter Oberparleiter
    Acked-by: Martin Schwidefsky
    Signed-off-by: Martin Schwidefsky

    Peter Oberparleiter
     
  • Inline get_zdev to save ~200 bytes of kernel text for CONFIG_PCI=y.
    Also rename the function to to_zpci to make clear that we don't do
    reference counting here.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • If a machine checks is received while the CPU is in the kernel, only
    the s390_do_machine_check function will be called. The call to
    s390_handle_mcck is postponed until the CPU returns to user space.
    Because of this it is safe to use the asynchronous stack for machine
    checks even if the CPU is already handling an interrupt.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Reorder the instructions of UPDATE_VTIME to improve superscalar execution,
    remove duplicate checks for problem-state from the asynchronous interrupt
    handlers, and move the check for problem-state from the synchronous
    exit path to the program check path as it is only needed for program
    checks inside the kernel.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Currently there are two mechanisms to deal with cleanup work due to
    interrupts. The HANDLE_SIE_INTERCEPT macro is used to undo the changes
    required to enter SIE in sie64a. If the SIE instruction causes a program
    check, or an asynchronous interrupt is received the HANDLE_SIE_INTERCEPT
    code forwards the program execution to sie_exit.

    All the other critical sections in entry.S are handled by the code in
    cleanup_critical that is called by the SWITCH_ASYNC macro.

    Move the sie64a function to the beginning of the critical section and
    add the code from HANDLE_SIE_INTERCEPT to cleanup_critical. Add a special
    case for the sie64a cleanup to the program check handler.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The HANDLE_SIE_INTERCEPT macro is used in the interrupt handlers
    and the program check handler to undo a few changes done by sie64a.
    Among them are guest vs host LPP, the gmap ASCE vs kernel ASCE and
    the bit that indicates that SIE is currently running on the CPU.

    There is a race of a voluntary SIE exit vs asynchronous interrupts.
    If the CPU completed the SIE instruction and the TM instruction of
    the LPP macro at the time it receives an interrupt, the interrupt
    handler will run while the LPP, the ASCE and the SIE bit are still
    set up for guest execution. This might result in wrong sampling data,
    but it will not cause data corruption or lockups.

    The critical section in sie64a needs to be enlarged to include all
    instructions that undo the changes required for guest execution.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Use the module_cpu_feature_match() module init function to add an
    module alias based on required CPU features. The modules are
    automatically loaded on hardware that supports the required CPU features.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Add support for the generic CPU feature modalias implementation that wires
    up optional CPU features to udev-based module autoprobing.

    The file provides definitions to map CPU features to
    s390 ELF hardware capabilities.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • A section mismatch warning is reported if an __init annotated function is
    specified for module_cpu_feature_match().
    Change the module_cpu_feature_match() function and annotate the generated
    cpu_feature_match_* function as __init.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Improve the save and restore behavior of FPU register contents to use the
    vector extension within the kernel.

    The kernel does not use floating-point or vector registers and, therefore,
    saving and restoring the FPU register contents are performed for handling
    signals or switching processes only. To prepare for using vector
    instructions and vector registers within the kernel, enhance the save
    behavior and implement a lazy restore at return to user space from a
    system call or interrupt.

    To implement the lazy restore, the save_fpu_regs() sets a CPU information
    flag, CIF_FPU, to indicate that the FPU registers must be restored.
    Saving and setting CIF_FPU is performed in an atomic fashion to be
    interrupt-safe. When the kernel wants to use the vector extension or
    wants to change the FPU register state for a task during signal handling,
    the save_fpu_regs() must be called first. The CIF_FPU flag is also set at
    process switch. At return to user space, the FPU state is restored. In
    particular, the FPU state includes the floating-point or vector register
    contents, as well as, vector-enablement and floating-point control. The
    FPU state restore and clearing CIF_FPU is also performed in an atomic
    fashion.

    For KVM, the restore of the FPU register state is performed when restoring
    the general-purpose guest registers before the SIE instructions is started.
    Because the path towards the SIE instruction is interruptible, the CIF_FPU
    flag must be checked again right before going into SIE. If set, the guest
    registers must be reloaded again by re-entering the outer SIE loop. This
    is the same behavior as if the SIE critical section is interrupted.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Older binutils versions do not include support for the vector instruction
    formats. Add assembler macros for vector instruction mnemonics to easily
    encode and generate vector instructions.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Make the floating-point save area dynamically allocated and uses a flag
    to distinguish whether a task uses floating-point or vector registers.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Introduce a new structure to manage FP and VX registers. Refactor the
    save and restore of floating point and vector registers with a set
    of helper functions in fpu-internal.h.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • The kvm_arch_vcpu_load() does not validate whether the floating-point
    control (FPC) is valid. Further, the return code of the restore is not
    checked too. If the FPC is invalid, the restore fails and the host FPC
    value might remain. The correct behavior would be to clear the FPC if it
    is not valid. Hence, validate the FPC value and, optionally, reset the
    value before restoring it.

    Reviewed-by: David Hildenbrand
    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Use the test_fp_ctl() to test the floating-point control word
    for validity and use restore_fp_ctl() to set it in load_sigregs.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Move the EX_TABLE macro definitions from the processor.h to the linkage.h
    header file. It helps to reduce circular header file dependencies.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     

20 Jul, 2015

6 commits

  • git commit 0c8c0f03e3a292e031596484275c14cf39c0ab7a
    "x86/fpu, sched: Dynamically allocate 'struct fpu'"
    moved the thread_struct to the end of the task_struct.

    This causes some of the offsets used in entry.S to overflow their
    instruction operand field. To fix this use aghi to create a
    dedicated pointer for the thread_struct.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "Two fairly simple fixes: one is a change that causes us to have a very
    low queue depth leading to performance issues and the other is a null
    deref occasionally in tapes thanks to use after put"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: fix host max depth checking for the 'queue_depth' sysfs interface
    st: null pointer dereference panic caused by use after kref_put by st_open

    Linus Torvalds
     
  • Pull MIPS fixes from Ralf Baechle:
    "Another round of MIPS fixes for 4.2.

    Things are looking quite decent at this stage but the recent work on
    the FPU support took its toll:

    - fix an incorrect overly restrictive ifdef

    - select O32 64-bit FP support for O32 binary compatibility

    - remove workarounds for Sibyte SB1250 Pass1 parts. There are rare
    fixing the workarounds is not worth the effort.

    - patch up an outdated and now incorrect comment"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: fpu.h: Allow 64-bit FPU on a 64-bit MIPS R6 CPU
    MIPS: SB1: Remove support for Pass 1 parts.
    MIPS: Require O32 FP64 support for MIPS64 with O32 compat
    MIPS: asm-offset.c: Patch up various comments refering to the old filename.

    Linus Torvalds
     
  • Pull parisc fix from Helge Deller:
    "A memory leak fix from Christophe Jaillet which was introduced with
    kernel 4.0 and which leads to kernel crashes on parisc after 1-3 days"

    * 'parisc-4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: mm: Fix a memory leak related to pmd not attached to the pgd

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "By far most of the fixes here are updates to DTS files to deal with
    some mostly minor bugs.

    There's also a fix to deal with non-PM kernel configs on i.MX, a
    regression fix for ethernet on PXA platforms and a dependency fix for
    OMAP"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: keystone: dts: rename pcie nodes to help override status
    ARM: keystone: dts: fix dt bindings for PCIe
    ARM: pxa: fix dm9000 platform data regression
    ARM: dts: Correct audio input route & set mic bias for am335x-pepper
    ARM: OMAP2+: Add HAVE_ARM_SCU for AM43XX
    MAINTAINERS: digicolor: add dts files
    ARM: ux500: fix MMC/SD card regression
    ARM: ux500: define serial port aliases
    ARM: dts: OMAP5: Add #iommu-cells property to IOMMUs
    ARM: dts: OMAP4: Add #iommu-cells property to IOMMUs
    ARM: dts: Fix frequency scaling on Gumstix Pepper
    ARM: dts: configure regulators for Gumstix Pepper
    ARM: dts: omap3: overo: Update LCD panel names
    ARM: dts: cros-ec-keyboard: Add support for some Japanese keys
    ARM: imx6: gpc: always enable PU domain if CONFIG_PM is not set
    ARM: dts: imx53-qsb: fix TVE entry
    ARM: dts: mx23: fix iio-hwmon support
    ARM: dts: imx27: Adjust the GPT compatible string
    ARM: socfpga: dts: Fix entries order
    ARM: socfpga: dts: Fix adxl34x formating and compatible string

    Linus Torvalds
     

19 Jul, 2015

10 commits

  • Commit 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6")
    added support for 64-bit FPU on a 32-bit MIPS R6 processor but it missed
    the 64-bit CPU case leading to FPU failures when requesting FR=1 mode
    (which is always the case for MIPS R6 userland) when running a 32-bit
    kernel on a 64-bit CPU. We also fix the MIPS R2 case.

    Signed-off-by: Markos Chandras
    Fixes: 6134d94923d0 ("MIPS: asm: fpu: Allow 64-bit FPU on MIPS32 R6")
    Reviewed-by: Paul Burton
    Cc: # 4.0+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/10734/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • Commit 0e0da48dee8d ("parisc: mm: don't count preallocated pmds")
    introduced a memory leak.

    After this commit, the 'return' statement in pmd_free is executed in all
    cases. Even for pmd that are not attached to the pgd. So 'free_pages'
    can never be called anymore, leading to a memory leak.

    Signed-off-by: Christophe JAILLET
    Acked-by: Kirill A. Shutemov
    Acked-by: Mikulas Patocka
    Acked-by: Helge Deller
    Cc: stable@vger.kernel.org # v4.0+
    Signed-off-by: Helge Deller

    Christophe Jaillet
     
  • Merge "pxa fixes for v4.2" from Robert Jarzmik:

    ARM: pxa: fixes for v4.2-rc2

    This single fix reenables ethernet cards for several pxa boards,
    broken by regulator addition to dm9000 driver.

    * tag 'pxa-fixes-v4.2-rc2' of https://github.com/rjarzmik/linux:
    ARM: pxa: fix dm9000 platform data regression

    Olof Johansson
     
  • Pull ARM fixes from Russell King:
    "A small set of ARM fixes for -rc3, most of them not far off
    one-liners, with the exception of fixing the V7 cache invalidation for
    incoming SMP processors which was causing problems for SoCFPGA
    devices"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: fix __virt_to_idmap build error on !MMU
    ARM: invalidate L1 before enabling coherency
    ARM: 8404/1: dma-mapping: fix off-by-one error in bitmap size check
    ARM: 8402/1: perf: Don't use of_node after putting it
    ARM: 8400/1: use virt_to_idmap to get phys_reset address

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Two families of fixes:

    - Fix an FPU context related boot crash on newer x86 hardware with
    larger context sizes than what most people test. To fix this
    without ugly kludges or extensive reverts we had to touch core task
    allocator, to allow x86 to determine the task size dynamically, at
    boot time.

    I've tested it on a number of x86 platforms, and I cross-built it
    to a handful of architectures:

    (warns) (warns)
    testing x86-64: -git: pass ( 0), -tip: pass ( 0)
    testing x86-32: -git: pass ( 0), -tip: pass ( 0)
    testing arm: -git: pass ( 1359), -tip: pass ( 1359)
    testing cris: -git: pass ( 1031), -tip: pass ( 1031)
    testing m32r: -git: pass ( 1135), -tip: pass ( 1135)
    testing m68k: -git: pass ( 1471), -tip: pass ( 1471)
    testing mips: -git: pass ( 1162), -tip: pass ( 1162)
    testing mn10300: -git: pass ( 1058), -tip: pass ( 1058)
    testing parisc: -git: pass ( 1846), -tip: pass ( 1846)
    testing sparc: -git: pass ( 1185), -tip: pass ( 1185)

    ... so I hope the cross-arch impact 'none', as intended.

    (by Dave Hansen)

    - Fix various NMI handling related bugs unearthed by the big asm code
    rewrite and generally make the NMI code more robust and more
    maintainable while at it. These changes are a bit late in the
    cycle, I hope they are still acceptable.

    (by Andy Lutomirski)"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/fpu, sched: Introduce CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and use it on x86
    x86/fpu, sched: Dynamically allocate 'struct fpu'
    x86/entry/64, x86/nmi/64: Add CONFIG_DEBUG_ENTRY NMI testing code
    x86/nmi/64: Make the "NMI executing" variable more consistent
    x86/nmi/64: Minor asm simplification
    x86/nmi/64: Use DF to avoid userspace RSP confusing nested NMI detection
    x86/nmi/64: Reorder nested NMI checks
    x86/nmi/64: Improve nested NMI comments
    x86/nmi/64: Switch stacks on userspace NMI entry
    x86/nmi/64: Remove asm code that saves CR2
    x86/nmi: Enable nested do_nmi() handling for 64-bit kernels

    Linus Torvalds
     
  • Pull timer fix from Ingo Molnar:
    "Fix for a misplaced export that can cause build failures in certain
    (rare) Kconfig situations"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick: Move the export of tick_broadcast_oneshot_control to the proper place

    Linus Torvalds
     
  • Pull scheduler fix from Ingo Molnar:
    "A oneliner rq throttling fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/fair: Test list head instead of list entry in throttle_cfs_rq()

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, plus a static key fix fixing /sys/devices/cpu/rdpmc"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Really allow to specify custom CC, AR or LD
    perf auxtrace: Fix misplaced check for HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT
    perf hists browser: Take the --comm, --dsos, etc filters into account
    perf symbols: Store if there is a filter in place
    x86, perf: Fix static_key bug in load_mm_cr4()
    tools: Copy lib/hweight.c from the kernel sources
    perf tools: Fix the detached tarball wrt rbtree copy
    perf thread_map: Fix the sizeof() calculation for map entries
    tools lib: Improve clean target
    perf stat: Fix shadow declaration of close
    perf tools: Fix lockup using 32-bit compat vdso

    Linus Torvalds
     
  • Pull irq fixes from Ingo Molnar:
    "Misc irq fixes:

    - two driver fixes
    - a Xen regression fix
    - a nested irq thread crash fix"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/gicv3-its: Fix mapping of LPIs to collections
    genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD
    genirq: Revert sparse irq locking around __cpu_up() and move it to x86 for now
    gpio/davinci: Fix race in installing chained irq handler

    Linus Torvalds
     
  • Merge fixes from Andrew Morton:
    "25 fixes"

    * emailed patches from Andrew Morton : (25 commits)
    lib/decompress: set the compressor name to NULL on error
    mm/cma_debug: correct size input to bitmap function
    mm/cma_debug: fix debugging alloc/free interface
    mm/page_owner: set correct gfp_mask on page_owner
    mm/page_owner: fix possible access violation
    fsnotify: fix oops in fsnotify_clear_marks_by_group_flags()
    /proc/$PID/cmdline: fixup empty ARGV case
    dma-debug: skip debug_dma_assert_idle() when disabled
    hexdump: fix for non-aligned buffers
    checkpatch: fix long line messages about patch context
    mm: clean up per architecture MM hook header files
    MAINTAINERS: uclinux-h8-devel is moderated for non-subscribers
    mailmap: update Sudeep Holla's email id
    Update Viresh Kumar's email address
    mm, meminit: suppress unused memory variable warning
    configfs: fix kernel infoleak through user-controlled format string
    include, lib: add __printf attributes to several function prototypes
    s390/hugetlb: add hugepages_supported define
    mm: hugetlb: allow hugepages_supported to be architecture specific
    revert "s390/mm: make hugepages_supported a boot time decision"
    ...

    Linus Torvalds
     

18 Jul, 2015

5 commits

  • Pull btrfs fixes from Chris Mason:
    "These are all from Filipe, and cover a few problems we've had reported
    on the list recently (along with ones he found on his own)"

    * 'for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix file corruption after cloning inline extents
    Btrfs: fix order by which delayed references are run
    Btrfs: fix list transaction->pending_ordered corruption
    Btrfs: fix memory leak in the extent_same ioctl
    Btrfs: fix shrinking truncate when the no_holes feature is enabled

    Linus Torvalds
     
  • Pull rtc fixes from Alexandre Belloni:
    "A few fixes for the RTC susbsystem for 4.2.

    The mt6397 driver was introduce in 4.2 so it is worth fixing before
    the final release. I though the compilation warning for armada38x was
    fixed by akpm in commit f98b733e93e0 ("rtc-armada38x.c: remove unused
    local `flags'") but he actually missed some occurrences of the
    variables. Since I received 4 patches for that, I think we can
    include it now.

    Summary:
    - fix mt6397 wakealarm creation
    - remove a compilation warning for armada38x that was forgotten"

    * tag 'rtc-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
    rtc: armada38x: Remove unused variable from armada38x_rtc_set_time()
    rtc: mt6397: enable wakeup before registering rtc device

    Linus Torvalds
     
  • Pull device mapper fixes from Mike Snitzer:

    - revert a request-based DM core change that caused IO latency to
    increase and adversely impact both throughput and system load

    - fix for a use after free bug in DM core's device cleanup

    - a couple DM btree removal fixes (used by dm-thinp)

    - a DM thinp fix for order-5 allocation failure

    - a DM thinp fix to not degrade to read-only metadata mode when in
    out-of-data-space mode for longer than the 'no_space_timeout'

    - fix a long-standing oversight in both dm-thinp and dm-cache by now
    exporting 'needs_check' in status if it was set in metadata

    - fix an embarrassing dm-cache busy-loop that caused worker threads to
    eat cpu even if no IO was actively being issued to the cache device

    * tag 'dm-4.2-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm cache: avoid calls to prealloc_free_structs() if possible
    dm cache: avoid preallocation if no work in writeback_some_dirty_blocks()
    dm cache: do not wake_worker() in free_migration()
    dm cache: display 'needs_check' in status if it is set
    dm thin: display 'needs_check' in status if it is set
    dm thin: stay in out-of-data-space mode once no_space_timeout expires
    dm: fix use after free crash due to incorrect cleanup sequence
    Revert "dm: only run the queue on completion if congested or no requests pending"
    dm btree: silence lockdep lock inversion in dm_btree_del()
    dm thin: allocate the cell_sort_array dynamically
    dm btree remove: fix bug in redistribute3

    Linus Torvalds
     
  • Don't burden architectures without dynamic task_struct sizing
    with the overhead of dynamic sizing.

    Also optimize the x86 code a bit by caching task_struct_size.

    Acked-and-Tested-by: Dave Hansen
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Dave Hansen
    Cc: Denys Vlasenko
    Cc: Linus Torvalds
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1437128892-9831-3-git-send-email-mingo@kernel.org
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • The FPU rewrite removed the dynamic allocations of 'struct fpu'.
    But, this potentially wastes massive amounts of memory (2k per
    task on systems that do not have AVX-512 for instance).

    Instead of having a separate slab, this patch just appends the
    space that we need to the 'task_struct' which we dynamically
    allocate already. This saves from doing an extra slab
    allocation at fork().

    The only real downside here is that we have to stick everything
    and the end of the task_struct. But, I think the
    BUILD_BUG_ON()s I stuck in there should keep that from being too
    fragile.

    Signed-off-by: Dave Hansen
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Dave Hansen
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1437128892-9831-2-git-send-email-mingo@kernel.org
    Signed-off-by: Ingo Molnar

    Dave Hansen