Re: [PATCH] KVM x86: Handle hypercalls for assigned PCI devices
From: Muli Ben-Yehuda
Date: Wed Apr 30 2008 - 02:03:07 EST
On Wed, Apr 30, 2008 at 01:48:38AM +0300, Avi Kivity wrote:
> Amit Shah wrote:
>>
>>>> + if (is_error_page(host_page)) {
>>>> + printk(KERN_INFO "%s: gfn %p not valid\n",
>>>> + __func__, (void *)page_gfn);
>>>> + r = -1;
>>>>
>>> r = -1 is not really informative. Better use some meaningful error.
>>>
>>
>> The error's going to the guest. The guest, as we know, has already
>> done a successful DMA allocation. Something went wrong in the
>> hypercall, and we don't know why (bad page). Any kind of error here
>> isn't going to be intelligible to the guest anyway. It's mostly a
>> host thing if we ever hit this.
>>
>
> If the guest is not able to handle it, why bother returning an
> error? Better to kill it.
>
> But in any case, -1 is not a good error number.
The guest should be able to deal with transient DMA mapping errors,
either by retrying, or quiescing the device. This is in line with how
HW IOMMUs work - they may run out of mappings for example and the
driver should be able to cope with it. Killing the guest is a last
resort.
Cheers,
Muli
--
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/