1. 11 Feb, 2021 4 commits
    • Paolo Bonzini's avatar
      Merge tag 'kvm-ppc-next-5.12-1' of... · 67ccd527
      Paolo Bonzini authored
      Merge tag 'kvm-ppc-next-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD
      
      PPC KVM update for 5.12
      
      - Support for second data watchpoint on POWER10, from Ravi Bangoria
      - Remove some complex workarounds for buggy early versions of POWER9
      - Guest entry/exit fixes from Nick Piggin and Fabiano Rosas
      67ccd527
    • Waiman Long's avatar
      locking/arch: Move qrwlock.h include after qspinlock.h · d8d0da4e
      Waiman Long authored
      include/asm-generic/qrwlock.h was trying to get arch_spin_is_locked via
      asm-generic/qspinlock.h.  However, this does not work because architectures
      might be using queued rwlocks but not queued spinlocks (csky), or because they
      might be defining their own queued_* macros before including asm/qspinlock.h.
      
      To fix this, ensure that asm/spinlock.h always includes qrwlock.h after
      defining arch_spin_is_locked (either directly for csky, or via
      asm/qspinlock.h for other architectures).  The only inclusion elsewhere
      is in kernel/locking/qrwlock.c.  That one is really unnecessary because
      the file is only compiled in SMP configurations (config QUEUED_RWLOCKS
      depends on SMP) and in that case linux/spinlock.h already includes
      asm/qrwlock.h if needed, via asm/spinlock.h.
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarWaiman Long <longman@redhat.com>
      Fixes: 26128cb6 ("locking/rwlocks: Add contention detection for rwlocks")
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarBen Gardon <bgardon@google.com>
      [Add arch/sparc and kernel/locking parts per discussion with Waiman. - Paolo]
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      d8d0da4e
    • Nicholas Piggin's avatar
      KVM: PPC: Book3S HV: Fix host radix SLB optimisation with hash guests · 72476aaa
      Nicholas Piggin authored
      Commit 68ad28a4 ("KVM: PPC: Book3S HV: Fix radix guest SLB side
      channel") incorrectly removed the radix host instruction patch to skip
      re-loading the host SLB entries when exiting from a hash
      guest. Restore it.
      
      Fixes: 68ad28a4 ("KVM: PPC: Book3S HV: Fix radix guest SLB side channel")
      Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      72476aaa
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Ensure radix guest has no SLB entries · ab950e1a
      Paul Mackerras authored
      Commit 68ad28a4 ("KVM: PPC: Book3S HV: Fix radix guest SLB side
      channel") changed the older guest entry path, with the side effect
      that vcpu->arch.slb_max no longer gets cleared for a radix guest.
      This means that a HPT guest which loads some SLB entries, switches to
      radix mode, runs the guest using the old guest entry path (e.g.,
      because the indep_threads_mode module parameter has been set to
      false), and then switches back to HPT mode would now see the old SLB
      entries being present, whereas previously it would have seen no SLB
      entries.
      
      To avoid changing guest-visible behaviour, this adds a store
      instruction to clear vcpu->arch.slb_max for a radix guest using the
      old guest entry path.
      Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      ab950e1a
  2. 10 Feb, 2021 11 commits
  3. 09 Feb, 2021 25 commits