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

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Avi Kivity
Date: Monday, August 23, 2010 - 8:48 am

On 07/19/2010 06:30 PM, Gleb Natapov wrote:

u64 token?


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.


What's the meaning of cpu?  Won't the waiter migrate to other cpus?  Can 
apf_task_wait() start on a different cpu than the one we got our apf on?


In theory we could make it interruptible if it's in user context.  The 
signal could arrive before the page and we could handle it.  Not worth 
the complexity I think (having a wakeup with no task to wake).

The user might be confused why they have uninterruptible tasks and no 
disk load, but more than likely they're confused already, so no big loss.


In guest code, please use 'cpu', not 'vcpu'.


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.


Can per-cpu vars be in vmalloc space?  if so they may trigger nested faults.

I don't think that's the case for core code, so probably safe here.


Nice!  Zero impact on non-virt.

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

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH v5 04/12] Provide special async page fault hand ..., Avi Kivity, (Mon Aug 23, 8:48 am)