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] Don't allow assigning the same device twice

To: "Han, Weidong" <weidong.han@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [VTD][PATCH] Don't allow assigning the same device twice without release the first assignment
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 18 Oct 2007 10:23:18 +0100
Cc: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Delivery-date: Thu, 18 Oct 2007 02:24:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <08DF4D958216244799FC84F3514D70F00ABADA@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: AcgPPrZDfEJfzCOtSJyuGbCE3/cnAQAAjKktABVSMsAAClbYKwBaGWTgABAkgks=
Thread-topic: [Xen-devel] [VTD][PATCH] Don't allow assigning the same device twice without release the first assignment
User-agent: Microsoft-Entourage/11.3.6.070618
That's a lot better. I'll take the Xen portion but the tools changes need
more work:

The PCI-string parsing code cannot be placed in xc_private.[ch] and then
exported outside the library. Also using strtok() is invalid as it is not
thread-safe. You should use strtok_r() instead. I think you can get rid of
pci_count() altogether and have first_bdf/next_bdf return a boolean whether
they have reached the end of the string or not (strtok_r will return NULL
when the last token has been parsed). Then the caller would use them
something like:
 for (done = first_bdf(); !done; done = next_bdf())

Given the small amount of code for first_bdf/next_bdf, and given that
pci_count can be got rid of entirely, I would just duplicate that simple
strtok code in both the python wrapper and ioemu. I wouldn't add that rather
specific parsing code to libxc.

Please fix up and re-spin the tools part of the patch.

 -- Keir

On 18/10/07 02:51, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:

> Keir,
> 
> Resend the patch. This patch is implemented according to your
> suggestion. Asssigns device in xend before starting ioemu, and add the
> check on DOMCTL_assign_device hypercall. Thanks.
> 
> -- Weidong
> 
> Keir Fraser wrote:
>> On 16/10/07 03:04, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:
>> 
>>>> The DOMCTL_assign_device should check whether the device is already
>>>> assigned. This has the benefit that it can atomically
>>>> check-and-allocate, under the domctl lock.
>>>> 
>>>> You'll have to work out how to propagate DOMCTL_assign_device
>>>> failure to the user. Either you have to get the error out of ioemu,
>>>> or perhaps you can assign the device in xend before starting ioemu.
>>> 
>>> Yes, adding the check on DOMCTL_assign_device is simple, but I didn't
>>> find a good way to propagate DOMCTL_assign_device failure to user.
>>> This patch adds the check in xend before starting ioemu. In addtion,
>>> adding the check in Xend can prompt user on the screen when the
>>> device has already been assigned. Thanks.
>> 
>> Well, that's too bad because I won't take the original patch. Why
>> can't the device be assigned by xend?
>> 
>>  -- Keir
> 



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