[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [VTD][PATCH] Change xc_assign_device()



The reason for moving device assignment to qemu-dm is that the assignment
can fail even after the assignment has happened. I'm happy to move the
assignment to qemu-dm, but then the 'check' in xend gets stripped out.

 -- Keir

On 10/12/07 09:01, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:

> The checks in Xend just check high level errors, such as VT-d disabled,
> device is not exist, or not hidden. When find these errors, quit domain
> creation immediately. The real actions are taken in qemu. What error
> handling do you mean?
> 
> Randy (Weidong)
> 
> Keir Fraser wrote:
>> Then the whole lot should be done in qemu-dm and it sounds like the
>> error handling needs to be improved.
>> 
>>  -- Keir
>> 
>> On 10/12/07 08:45, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:
>> 
>>> I agree the early do those checks the better. But without mapping
>>> memory and I/O port in qemu, the assigned device can't be really
>>> used. That's to say the assignment is not completed in a way. In
>>> addition, if we want to support hotplug devices, it's not suitable
>>> to do assignment in Xend.
>>> 
>>> Randy (Weidong)
>>> 
>>> Keir Fraser wrote:
>>>> Sounds to me like qemu-dm is too late to do those other checks or
>>>> you need better error handling in qemu-dm. Really you have a
>>>> choice: do all tests and assignment in qemu-dm, or do all tests and
>>>> assignment in xend. Doing half-and-half is stupid. If the
>>>> pass-through can still fail even after the check you leave in xend,
>>>> why check at all in xend?
>>>> 
>>>> Probably you need to fail the domain create, or at least shutdown
>>>> the domain, when a device that should be passed through cannot be
>>>> passed through. That will naturally cause the device assignment to
>>>> be torn down (if it was set set up), as the domain is destroyed.
>>>> Whether this is all actioned from xend or from qemu-dm doesn't much
>>>> matter, but the split responsibility isn't clean. Probably xend is
>>>> better just because the error handling is easier and earlier there.
>>>> 
>>>>  -- Keir
>>>> 
>>>> On 10/12/07 08:13, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:
>>>> 
>>>>> Xend is too early to do real assignment, do some checking is
>>>>> better. These two issues will be found by the checks in Xend ( 1)
>>>>> issue will be found by pciback). After passing these checks in
>>>>> Xend, it's suitable to do real device assignment and memory and
>>>>> ioport mappings in qemu.
>>>>> 
>>>>> Randy (Weidong)
>>>>> 
>>>>> Muli Ben-Yehuda wrote:
>>>>>> On Mon, Dec 10, 2007 at 02:21:55PM +0800, Han, Weidong wrote:
>>>>>> 
>>>>>>> Currently we assign devices with VT-d in Xend, this raises two
>>>>>>> issues: 1) assign devices regardless of they are hidden by
>>>>>>> pciback or not. If the device is not hidden, it results in the
>>>>>>> device doesn't work in Dom0; 2) device is assigned one by one,
>>>>>>> if assign multiple devices, some devices may have been assigned
>>>>>>> when problem happens, it results in assigned devices don't work
>>>>>>> in Dom0. I think Xend is not a good place to assign devices.
>>>>>>> This patch adds a parameter to xc_assign_device(), let it just
>>>>>>> do check in Xend whether the devices can be assigned or not, and
>>>>>>> move real device assignment to qemu.
>>>>>> 
>>>>>> Why is qemu a better place to assign the devices? How does moving
>>>>>> it to qemu solve the two issues mentioned above?
>>>>>> 
>>>>>> Cheers,
>>>>>> Muli
>>>>> 
>>>>> _______________________________________________
>>>>> Xen-devel mailing list
>>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>>>> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.