On 12/08/2015 17:19, Frederic Konrad wrote:
> BTW that affect KVM as well. Seems this mechanism is used as well with
> qemu_cpu_kick_self().. Which is a little strange as it seems the SIGIPI
> trigger a
> dummy signal handler?
> 
>     memset(&sigact, 0, sizeof(sigact));
>     sigact.sa_handler = dummy_signal;
>     sigaction(SIG_IPI, &sigact, NULL);

KVM is different, the signal handler is used to kick the VM out of
KVM_RUN.  We're going to add another path (a ioctl) but it cannot use
the same code as TCG.

qemu_cpu_kick_self is needed in some special cases where KVM tells you
"call KVM_RUN asap" but you know you have more work to do in userspace.
 Calling qemu_cpu_kick_self lets you call KVM_RUN work and immediately
do the userspace work.

Paolo

Reply via email to