Fix cpu_exit for tcp_cpu_exec
commitc629a4bc9725a1ec64c4c89894ef27c758024516
authorJan Kiszka <jan.kiszka@siemens.com>
Fri, 25 Jun 2010 14:56:52 +0000 (25 16:56 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 22 Jul 2010 03:52:09 +0000 (22 05:52 +0200)
tree9957c5dc4794068d6028e6c264d24b58f86b2e9f
parentf8ca7b43a547e7900e4731c5ab29cebe208eb299
Fix cpu_exit for tcp_cpu_exec

If a cpu_exit request is pending, ensure that we leave the CPU loop
quickly. For this purpose, keep the global exit_request pending until
we are about to leave tcg_cpu_exec. Also, immediately break out of the
SMP loop if the request is set, do not run till the end of the chain.
This preserves the VCPU scheduling order in SMP mode.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
cpu-exec.c
cpus.c