On 01/31/2011 04:31 PM, Jan Kiszka wrote:
>> >> 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.
I see it now - with a real signalfd, kvm unmasks the signal, and that takes precedence over signalfd and exits the vcpu.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html