1. 12 Jun, 2013 28 commits
  2. 11 Jun, 2013 9 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/virt/kvm/kvm · af180b81
      Linus Torvalds authored
      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
    • Scott Wood's avatar
      kvm/ppc/booke64: Fix lazy ee handling in kvmppc_handle_exit() · 7c11c0cc
      Scott Wood authored
      EE is hard-disabled on entry to kvmppc_handle_exit(), so call
      hard_irq_disable() so that PACA_IRQ_HARD_DIS is set, and soft_enabled
      is unset.
      
      Without this, we get warnings such as arch/powerpc/kernel/time.c:300,
      and sometimes host kernel hangs.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      7c11c0cc
    • Scott Wood's avatar
      kvm/ppc/booke: Hold srcu lock when calling gfn functions · f1e89028
      Scott Wood authored
      KVM core expects arch code to acquire the srcu lock when calling
      gfn_to_memslot and similar functions.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      f1e89028
    • Scott Wood's avatar
      kvm/ppc/booke64: Disable e6500 support · 2b6398fc
      Scott Wood authored
      The previous patch made 64-bit booke KVM build again, but Altivec
      support is still not complete, and we can't prevent the guest from
      turning on Altivec (which can corrupt host state until state
      save/restore is implemented).  Disable e6500 on KVM until this is
      fixed.
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      2b6398fc
    • Mihai Caraman's avatar
      kvm/ppc/booke64: Fix AltiVec interrupt numbers and build breakage · 4edd1ae9
      Mihai Caraman authored
      Interrupt numbers defined for Book3E follows IVORs definition. Align
      BOOKE_INTERRUPT_ALTIVEC_UNAVAIL and BOOKE_INTERRUPT_ALTIVEC_ASSIST to this
      rule which also fixes the build breakage.
      IVORs 32 and 33 are shared so reflect this in the interrupts naming.
      
      This fixes a build break for 64-bit booke KVM.
      Signed-off-by: default avatarMihai Caraman <mihai.caraman@freescale.com>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      4edd1ae9
    • David Daney's avatar
      mips/kvm: Use KVM_REG_MIPS and proper size indicators for *_ONE_REG · 681865d4
      David Daney authored
      The API requires that the GET_ONE_REG and SET_ONE_REG ioctls have this
      extra information encoded in the register identifiers.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      681865d4
    • David Daney's avatar
      kvm: Add definition of KVM_REG_MIPS · 2a8fedd0
      David Daney authored
      We use 0x7000000000000000ULL as 0x6000000000000000ULL is reserved for
      ARM64.
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      2a8fedd0
    • Ben Greear's avatar
      Fix lockup related to stop_machine being stuck in __do_softirq. · 34376a50
      Ben Greear authored
      The stop machine logic can lock up if all but one of the migration
      threads make it through the disable-irq step and the one remaining
      thread gets stuck in __do_softirq.  The reason __do_softirq can hang is
      that it has a bail-out based on jiffies timeout, but in the lockup case,
      jiffies itself is not incremented.
      
      To work around this, re-add the max_restart counter in __do_irq and stop
      processing irqs after 10 restarts.
      
      Thanks to Tejun Heo and Rusty Russell and others for helping me track
      this down.
      
      This was introduced in 3.9 by commit c10d7367 ("softirq: reduce
      latencies").
      
      It may be worth looking into ath9k to see if it has issues with its irq
      handler at a later date.
      
      The hang stack traces look something like this:
      
          ------------[ cut here ]------------
          WARNING: at kernel/watchdog.c:245 watchdog_overflow_callback+0x9c/0xa7()
          Watchdog detected hard LOCKUP on cpu 2
          Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 nfsv4 auth_rpcgss nfs fscache nf_nat_ipv4 nf_nat veth 8021q garp stp mrp llc pktgen lockd sunrpc]
          Pid: 23, comm: migration/2 Tainted: G         C   3.9.4+ #11
          Call Trace:
           <NMI>   warn_slowpath_common+0x85/0x9f
            warn_slowpath_fmt+0x46/0x48
            watchdog_overflow_callback+0x9c/0xa7
            __perf_event_overflow+0x137/0x1cb
            perf_event_overflow+0x14/0x16
            intel_pmu_handle_irq+0x2dc/0x359
            perf_event_nmi_handler+0x19/0x1b
            nmi_handle+0x7f/0xc2
            do_nmi+0xbc/0x304
            end_repeat_nmi+0x1e/0x2e
           <<EOE>>
            cpu_stopper_thread+0xae/0x162
            smpboot_thread_fn+0x258/0x260
            kthread+0xc7/0xcf
            ret_from_fork+0x7c/0xb0
          ---[ end trace 4947dfa9b0a4cec3 ]---
          BUG: soft lockup - CPU#1 stuck for 22s! [migration/1:17]
          Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 nfsv4 auth_rpcgss nfs fscache nf_nat_ipv4 nf_nat veth 8021q garp stp mrp llc pktgen lockd sunrpc]
          irq event stamp: 835637905
          hardirqs last  enabled at (835637904): __do_softirq+0x9f/0x257
          hardirqs last disabled at (835637905): apic_timer_interrupt+0x6d/0x80
          softirqs last  enabled at (5654720): __do_softirq+0x1ff/0x257
          softirqs last disabled at (5654725): irq_exit+0x5f/0xbb
          CPU 1
          Pid: 17, comm: migration/1 Tainted: G        WC   3.9.4+ #11 To be filled by O.E.M. To be filled by O.E.M./To be filled by O.E.M.
          RIP: tasklet_hi_action+0xf0/0xf0
          Process migration/1
          Call Trace:
           <IRQ>
            __do_softirq+0x117/0x257
            irq_exit+0x5f/0xbb
            smp_apic_timer_interrupt+0x8a/0x98
            apic_timer_interrupt+0x72/0x80
           <EOI>
            printk+0x4d/0x4f
            stop_machine_cpu_stop+0x22c/0x274
            cpu_stopper_thread+0xae/0x162
            smpboot_thread_fn+0x258/0x260
            kthread+0xc7/0xcf
            ret_from_fork+0x7c/0xb0
      Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarPekka Riikonen <priikone@iki.fi>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      34376a50
    • Linus Torvalds's avatar
      Merge tag '9p-3.10-bug-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 1b79821f
      Linus Torvalds authored
      Pull net/9p bug fix from Eric Van Hensbergen:
       "zero copy error fix"
      
      * tag '9p-3.10-bug-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        net/9p: Handle error in zero copy request correctly for 9p2000.u
      1b79821f
  3. 10 Jun, 2013 3 commits