linux/arch
Paul Mackerras 7b444c6710 KVM: PPC: Book3S HV: Fix some races in starting secondary threads
Subsequent patches implementing in-kernel XICS emulation will make it
possible for IPIs to arrive at secondary threads at arbitrary times.
This fixes some races in how we start the secondary threads, which
if not fixed could lead to occasional crashes of the host kernel.

This makes sure that (a) we have grabbed all the secondary threads,
and verified that they are no longer in the kernel, before we start
any thread, (b) that the secondary thread loads its vcpu pointer
after clearing the IPI that woke it up (so we don't miss a wakeup),
and (c) that the secondary thread clears its vcpu pointer before
incrementing the nap count.  It also removes unnecessary setting
of the vcpu and vcore pointers in the paca in kvmppc_core_vcpu_load.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-10-30 10:54:54 +01:00
..
alpha Prepared for main script 2012-10-03 13:45:43 -07:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-10-04 09:06:34 -07:00
arm64 UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
avr32 UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
blackfin UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
c6x UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
cris Prepared for main script 2012-10-03 13:45:43 -07:00
frv UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
h8300 UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
hexagon UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
ia64 KVM updates for the 3.7 merge window 2012-10-04 09:30:33 -07:00
m32r UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
m68k Prepared for main script 2012-10-03 13:45:43 -07:00
microblaze UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
mips Prepared for main script 2012-10-03 13:45:43 -07:00
mn10300 UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
openrisc UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
parisc Prepared for main script 2012-10-03 13:45:43 -07:00
powerpc KVM: PPC: Book3S HV: Fix some races in starting secondary threads 2012-10-30 10:54:54 +01:00
s390 s390/kvm: dont announce RRBM support 2012-10-10 19:03:38 -03:00
score UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
sh Prepared for main script 2012-10-03 13:45:43 -07:00
sparc Prepared for main script 2012-10-03 13:45:43 -07:00
tile Prepared for main script 2012-10-03 13:45:43 -07:00
um Prepared for main script 2012-10-03 13:45:43 -07:00
unicore32 UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
x86 KVM: Take kvm instead of vcpu to mmu_notifier_retry 2012-10-23 13:35:43 +02:00
xtensa UAPI: (Scripted) Set up UAPI Kbuild files 2012-10-02 18:01:35 +01:00
.gitignore
Kconfig Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00