WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: "Han, Weidong" <weidong.han@xxxxxxxxx>, Muli Ben-Yehuda <muli@xxxxxxxxxx>
Subject: Re: [Xen-devel] [VTD][PATCH] Change xc_assign_device()
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Mon, 10 Dec 2007 09:00:49 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Delivery-date: Mon, 10 Dec 2007 00:54:55 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <08DF4D958216244799FC84F3514D70F0BB259B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acg7At5ac39RAkxwRX23qaqDSfIGOAAAD5tgAAEf+zsAAAiYwAAA2lpM
Thread-topic: [Xen-devel] [VTD][PATCH] Change xc_assign_device()
User-agent: Microsoft-Entourage/11.3.6.070618
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