1. 13 6月, 2013 16 次提交
  2. 12 6月, 2013 2 次提交
    • L
      Merge branch 'fixes-3.10' of git://git.infradead.org/users/willy/linux-nvme · 77293e21
      Linus Torvalds 提交于
      Pull NVMe fixes from Matthew Wilcox.
      
      * 'fixes-3.10' of git://git.infradead.org/users/willy/linux-nvme:
        NVMe: Add MSI support
        NVMe: Use dma_set_mask() correctly
        Return the result from user admin command IOCTL even in case of failure
        NVMe: Do not cancel command multiple times
        NVMe: fix error return code in nvme_submit_bio_queue()
        NVMe: check for integer overflow in nvme_map_user_pages()
        MAINTAINERS: update NVM EXPRESS DRIVER file list
        NVMe: Fix a signedness bug in nvme_trans_modesel_get_mp
        NVMe: Remove redundant version.h header include
      77293e21
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/virt/kvm/kvm · af180b81
      Linus Torvalds 提交于
      Pull kvm bugfixes from Gleb Natapov:
       "There is one more fix for MIPS KVM ABI here, MIPS and PPC build
        breakage fixes and a couple of PPC bug fixes"
      
      * 'fixes' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm/ppc/booke64: Fix lazy ee handling in kvmppc_handle_exit()
        kvm/ppc/booke: Hold srcu lock when calling gfn functions
        kvm/ppc/booke64: Disable e6500 support
        kvm/ppc/booke64: Fix AltiVec interrupt numbers and build breakage
        mips/kvm: Use KVM_REG_MIPS and proper size indicators for *_ONE_REG
        kvm: Add definition of KVM_REG_MIPS
        KVM: add kvm_para_available to asm-generic/kvm_para.h
      af180b81
  3. 11 6月, 2013 12 次提交
  4. 10 6月, 2013 10 次提交
    • K
      xen/tmem: Don't over-write tmem_frontswap_poolid after tmem_frontswap_init set it. · b2c75c44
      Konrad Rzeszutek Wilk 提交于
      Commit 10a7a077 ("xen: tmem: enable Xen
      tmem shim to be built/loaded as a module") allows the tmem module
      to be loaded any time. For this work the frontswap API had to
      be able to asynchronously to call tmem_frontswap_init before
      or after the swap image had been set. That was added in git
      commit 905cd0e1
      ("mm: frontswap: lazy initialization to allow tmem backends to build/run as modules").
      
      Which means we could do this (The common case):
      
       modprobe tmem		[so calls frontswap_register_ops, no ->init]
      			 modifies tmem_frontswap_poolid = -1
       swapon /dev/xvda1	[__frontswap_init, calls -> init, tmem_frontswap_poolid is
      			 < 0 so tmem hypercall done]
      
      Or the failing one:
      
       swapon /dev/xvda1	[calls __frontswap_init, sets the need_init bitmap]
       modprobe tmem		[calls frontswap_register_ops, -->init calls, finds out
      			tmem_frontswap_poolid is 0, does not make a hypercall.
      			Later in the module_init, sets tmem_frontswap_poolid=-1]
      
      Which meant that in the failing case we would not call the hypercall
      to initialize the pool and never be able to make any frontswap
      backend calls.
      
      Moving the frontswap_register_ops after setting the tmem_frontswap_poolid
      fixes it.
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Reviewed-by: NBob Liu <bob.liu@oracle.com>
      b2c75c44
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · ae75d84f
      Linus Torvalds 提交于
      Pull powerpc fixes from Benjamin Herrenschmidt:
       "This is purely regressions (though not all recent ones) or stable
        material"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Partial revert of "Context switch more PMU related SPRs"
        powerpc/perf: Fix deadlock caused by calling printk() in PMU exception
        powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression
        powerpc/power8: Update denormalization handler
        powerpc/pseries: Simplify denormalization handler
        powerpc/power8: Fix oprofile and perf
        powerpc/eeh: Don't check RTAS token to get PE addr
        powerpc/pci: Check the bus address instead of resource address in pcibios_fixup_resources
      ae75d84f
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 0b52a3c8
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "The biggest two fixes are fixing a compilation error with the
        decompressor, and a problem with our __my_cpu_offset implementation.
      
        Other changes are very trivial and small, which seems to be the way
        for most -rc stuff."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7747/1: pcpu: ensure __my_cpu_offset cannot be re-ordered across barrier()
        ARM: 7750/1: update legacy CPU ID in decompressor cache support jump table
        ARM: 7743/1: compressed/head.S: work around new binutils warning
        ARM: 7742/1: topology: export cpu_topology
        ARM: 7737/1: fix kernel decompressor compilation error with CONFIG_DEBUG_SEMIHOSTING
      0b52a3c8
    • M
      powerpc: Partial revert of "Context switch more PMU related SPRs" · b11ae951
      Michael Ellerman 提交于
      In commit 59affcd3 I added context switching of more PMU SPRs, because
      they are potentially exposed to userspace on Power8. However despite me
      being a smart arse in the commit message it's actually not correct. In
      particular it interacts badly with a global perf record.
      
      We will have to do something more complicated, but that will have to
      wait for 3.11.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b11ae951
    • M
      powerpc/perf: Fix deadlock caused by calling printk() in PMU exception · 6772faa1
      Michael Ellerman 提交于
      In commit bc09c219 "Fix finding overflowed PMC in interrupt" we added
      a printk() to the PMU exception handler. Unfortunately that is not safe.
      
      The problem is that the PMU exception may run even when interrupts are
      soft disabled, aka NMI context. We do this so that we can profile parts
      of the kernel that have interrupts soft-disabled.
      
      But by calling printk() from the exception handler, we can potentially
      deadlock in the printk code on logbuf_lock, eg:
      
        [c00000038ba575c0] c000000000081928 .vprintk_emit+0xa8/0x540
        [c00000038ba576a0] c0000000007bcde8 .printk+0x48/0x58
        [c00000038ba57710] c000000000076504 .perf_event_interrupt+0x2d4/0x490
        [c00000038ba57810] c00000000001f6f8 .performance_monitor_exception+0x48/0x60
        [c00000038ba57880] c0000000000032cc performance_monitor_common+0x14c/0x180
        --- Exception: f01 (Performance Monitor) at c0000000007b25d4 ._raw_spin_lock_irq
        +0x64/0xc0
        [c00000038ba57bf0] c00000000007ed90 .devkmsg_read+0xd0/0x5a0
        [c00000038ba57d00] c0000000001c2934 .vfs_read+0xc4/0x1e0
        [c00000038ba57d90] c0000000001c2cd8 .SyS_read+0x58/0xd0
        [c00000038ba57e30] c000000000009d54 syscall_exit+0x0/0x98
        --- Exception: c01 (System Call) at 00001fffffbf6f7c
        SP (3ffff6d4de10) is in userspace
      
      Fix it by making sure we only call printk() when we are not in NMI
      context.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Cc: <stable@vger.kernel.org> # 3.9
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6772faa1
    • M
      powerpc/hw_breakpoints: Add DABRX cpu feature to fix 32-bit regression · 82a9f16a
      Michael Neuling 提交于
      When introducing support for DABRX in 4474ef05, we broke older 32-bit CPUs
      that don't have that register.
      
      Some CPUs have a DABR but not DABRX.  Configuration are:
      - No 32bit CPUs have DABRX but some have DABR.
      - POWER4+ and below have the DABR but no DABRX.
      - 970 and POWER5 and above have DABR and DABRX.
      - POWER8 has DAWR, hence no DABRX.
      
      This introduces CPU_FTR_DABRX and sets it on appropriate CPUs.  We use
      the top 64 bits for CPU FTR bits since only 64 bit CPUs have this.
      
      Processors that don't have the DABRX will still work as they will fall
      back to software filtering these breakpoints via perf_exclude_event().
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Reported-by: N"Gorelik, Jacob (335F)" <jacob.gorelik@jpl.nasa.gov>
      cc: stable@vger.kernel.org (v3.9 only)
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      82a9f16a
    • M
      powerpc/power8: Update denormalization handler · fb0fce3e
      Michael Neuling 提交于
      POWER8 can take a denormalisation exception on any VSX registers.
      
      This does the extra 32 VSX registers we don't currently handle.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      fb0fce3e
    • M
      powerpc/pseries: Simplify denormalization handler · d7c67fb1
      Michael Neuling 提交于
      The following simplifies the denorm code by using macros to generate the long
      stream of almost identical instructions.
      
      This patch results in no changes to the output binary, but removes a lot of
      lines of code.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      d7c67fb1
    • M
      powerpc/power8: Fix oprofile and perf · 6a60f9e7
      Michael Neuling 提交于
      In 2ac6f427 powerpc/cputable: Fix oprofile_cpu_type on power8
      we broke all power8 hw events.
      
      This reverts this change and uses oprofile_type instead. Perf now works
      on POWER8 again and oprofile will revert to using timers on POWER8.
      
      Kudos to mpe this fix.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6a60f9e7
    • G
      powerpc/eeh: Don't check RTAS token to get PE addr · b8b3de22
      Gavin Shan 提交于
      RTAS token "ibm,get-config-addr-info" or ibm,get-config-addr-info2"
      are used to retrieve the PE address according to PCI address, which
      made up of domain/bus/slot/function. If we don't have those 2 tokens,
      the domain/bus/slot/function would be used as the address for EEH
      RTAS operations. Some older f/w might not have those 2 tokens and
      that blocks the EEH functionality to be initialized. It was introduced
      by commit e2af155c ("powerpc/eeh: pseries platform EEH initialization").
      
      The patch skips the check on those 2 tokens so we can bring up EEH
      functionality successfully. And domain/bus/slot/function will be
      used as address for EEH RTAS operations.
      
      Cc: <stable@vger.kernel.org> # v3.4+
      Reported-by: NRobert Knight <knight@princeton.edu>
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Tested-by: NRobert Knight <knight@princeton.edu>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b8b3de22