Re: [RFC PATCH 1/3] kvm: keep track of which task is running a KVM vcpu

Avi Kivity
2010-12-05T12:40:34Z

On 12/03/2010 04:50 PM, Rik van Riel wrote:
> On 12/02/2010 08:18 PM, Chris Wright wrote:
>> * Rik van Riel (riel@redhat.com) wrote:
>>> Keep track of which task is running a KVM vcpu. This helps us
>>> figure out later what task to wake up if we want to boost a
>>> vcpu that got preempted.
>>>
>>> Unfortunately there are no guarantees that the same task
>>> always keeps the same vcpu, so we can only track the task
>>> across a single "run" of the vcpu.
>>
>> So shouldn't it confine to KVM_RUN? The other vcpu_load callers aren't
>> always a vcpu in a useful runnable state.
>
> Yeah, probably. If you want I can move the setting of
> vcpu->task to kvm_vcpu_ioctl.
>

No need, it's not like something bad will happen.

What I'd really like to see is a soft binding between a vcpu and its
thread, so directed yield works even if we're in qemu while we were
scheduled out. In fact it's not an unlikely pattern:

spin_lock(&lock)
...
writel(some_port_handled_by_qemu)
...
spin_unlock(&lock)

but that can wait.

--
error compiling committee.c: too many arguments to function