>>
>> And how would you be kicked out of the select() call if it is waiting
>> with a timeout? We only have a single thread here.
>
> If we use signalfd() (either kernel provided or thread+pipe), we kick
> out of select by select()ing it (though I don't see how it works without
> an iothread, since an fd can't stop a vcpu unless you enable SIGIO on
> it, which is silly for signalfd)
>
> If you leave it as a naked signal, then it can break out of either
> pselect() or vcpu.
>
> Since the goal is to drop !CONFIG_IOTHREAD, the first path seems better,
> I just don't understand the problem with emulated signalfd().
>
With the emulated signalfd, there won't be any signal for the VCPU while
in KVM_RUN.