On 11/01/2010 05:24 PM, Gleb Natapov wrote:

>> -            put_page(work->page);
>> -    kmem_cache_free(async_pf_cache, work);
>> +            list_del(&work->queue);
>> +            vcpu->async_pf.queued--;
>> +            if (work->page)
>> +                    put_page(work->page);
>> +            kmem_cache_free(async_pf_cache, work);
>> +    } while (ret && !list_empty_careful(&vcpu->async_pf.done));
>>  }
>>  
> No need to change kvm_arch_async_page_present() to return anything. You
> can do while loop like this:
> 
> while (!list_empty_careful(&vcpu->async_pf.done) &&
>        kvm_arch_can_inject_async_page_present(vcpu)) {
> }
> 
> If kvm_arch_async_page_present() call injects exception
> kvm_arch_can_inject_async_page_present() will return false on next
> iteration.

Yeah, it's a better way, i'll fix it, thanks Gleb!
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to