Re: [PATCH v5 04/12] Provide special async page fault handler whenasync PF capability is detected

From: Avi Kivity
Date: Mon Aug 23 2010 - 12:23:52 EST


On 08/23/2010 06:52 PM, Rik van Riel wrote:
On 08/23/2010 11:48 AM, Avi Kivity wrote:

Do you need to match cpu here as well? Or is token globally unique?

Perhaps we should make it locally unique to remove a requirement from
the host to synchronize? I haven't seen how you generate it yet.

If a task goes to sleep on one VCPU, but that VCPU ends
up not being runnable later on, it would be nice to wake
the task up on on a different VCPU.

I do not remember why it is safe to send this wakeup
event as an exception rather than an interrupt...

Wakeup could definitely be an interrupt, but the apf needs to be an exception so we reuse it.


The other cpu might be waiting for us to yield. We can fix it later with
the the pv spinlock infrastructure.

Or, we can avoid the allocation. If at most one apf can be pending (is
this true?), we can use a per-cpu variable for this dummy entry.

Having a limit of just one APF pending kind of defeats
the point.

Yes. How about, one APF pending before it is seen by the guest - but how can we tell without an annoying xchg?


At that point, a second one of these faults would put
the VCPU to sleep, which prevents the first task from
running once its pagefault (which started earlier)
completes...



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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/