linux/arch
Paul Mackerras 2f12f03436 KVM: PPC: Book3S HV: Fixes for late-joining threads
If a thread in a virtual core becomes runnable while other threads
in the same virtual core are already running in the guest, it is
possible for the latecomer to join the others on the core without
first pulling them all out of the guest.  Currently this only happens
rarely, when a vcpu is first started.  This fixes some bugs and
omissions in the code in this case.

First, we need to check for VPA updates for the latecomer and make
a DTL entry for it.  Secondly, if it comes along while the master
vcpu is doing a VPA update, we don't need to do anything since the
master will pick it up in kvmppc_run_core.  To handle this correctly
we introduce a new vcore state, VCORE_STARTING.  Thirdly, there is
a race because we currently clear the hardware thread's hwthread_req
before waiting to see it get to nap.  A latecomer thread could have
its hwthread_req cleared before it gets to test it, and therefore
never increment the nap_count, leading to messages about wait_for_nap
timeouts.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-10-30 10:54:55 +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: Fixes for late-joining threads 2012-10-30 10:54:55 +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