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

[Xen-devel] [PATCH libxc] Remove set_max_grants in linux



On 01/11/2011 01:21 PM, Konrad Rzeszutek Wilk wrote:
> On Tue, Jan 11, 2011 at 01:18:09PM -0500, Daniel De Graaf wrote:
>> On 01/11/2011 12:51 PM, Konrad Rzeszutek Wilk wrote:
>>> On Tue, Jan 11, 2011 at 07:45:34AM -0500, Daniel De Graaf wrote:
>>>> On 01/10/2011 04:52 PM, Konrad Rzeszutek Wilk wrote:
>>>>>>  static long gntdev_ioctl(struct file *flip,
>>>>>>                           unsigned int cmd, unsigned long arg)
>>>>>>  {
>>>>>> @@ -555,9 +538,6 @@ static long gntdev_ioctl(struct file *flip,
>>>>>>          case IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR:
>>>>>>                  return gntdev_ioctl_get_offset_for_vaddr(priv, ptr);
>>>>>>  
>>>>>> -        case IOCTL_GNTDEV_SET_MAX_GRANTS:
>>>>>> -                return gntdev_ioctl_set_max_grants(priv, ptr);
>>>>>
>>>>> Would it make sense to return -EPNOTSUPPORTED? Or does it not really
>>>>> matter as nobody has been using this ioctl call?
>>>>
>>>> Does this produce a clearer error message than the default -ENOIOCTLCMD?
>>>> It's possible that some people use it, since it was exposed as an API.
>>>
>>> Looking at the Xen tools the user of this is:
>>> xc_gnttab_set_max_grants which would end up returning whatever the
>>> error is. I don't see any users of this in the Xen tools, thought there 
>>> might
>>> be some in the XCP code. Lets stay with your ENOIOCTLCMD.
>>>
>>> However, I was wondering if you are going to submit a patch to the Xen
>>> tool stack so that it can utlize the SysFS interface to set the limits
>>> for that API call?
>>>
>>
>> No, because the semantics of what the limit is covering have changed. The
>> new limit is per-domain, and if there was any existing code that set the
>> limit, it would have been a per-open value and probably too low. I think
>> it was suggested that the call be removed from the Xen API; I can submit
>> a patch to do that, if you want.
> 
> Please do. Thank you.
>

I just removed the linux version, because I didn't want to prevent its use
in minios where it is needed to resize the array of grants.

------------------------------------------------------------------->8

The maximum number of grants is now constrained domain-wide in linux,
so set_max_grants should be a noop there. Previously, this constraint
was per-file-description.

diff -r 7b4c82f07281 tools/libxc/xc_gnttab.c
--- a/tools/libxc/xc_gnttab.c   Wed Jan 05 23:54:15 2011 +0000
+++ b/tools/libxc/xc_gnttab.c   Tue Jan 11 13:38:24 2011 -0500
@@ -184,6 +184,8 @@ int xc_gnttab_munmap(xc_gnttab *xcg,
 
 int xc_gnttab_set_max_grants(xc_gnttab *xcg, uint32_t count)
 {
+       if (!xcg->ops->u.gnttab.set_max_grants)
+               return 0;
        return xcg->ops->u.gnttab.set_max_grants(xcg, xcg->ops_handle, count);
 }
 
diff -r 7b4c82f07281 tools/libxc/xc_linux_osdep.c
--- a/tools/libxc/xc_linux_osdep.c      Wed Jan 05 23:54:15 2011 +0000
+++ b/tools/libxc/xc_linux_osdep.c      Tue Jan 11 13:38:24 2011 -0500
@@ -627,19 +627,6 @@ static int linux_gnttab_munmap(xc_gnttab
     return 0;
 }
 
-static int linux_gnttab_set_max_grants(xc_gnttab *xcg, xc_osdep_handle h, 
uint32_t count)
-{
-    int fd = (int)h;
-    struct ioctl_gntdev_set_max_grants set_max;
-    int rc;
-
-    set_max.count = count;
-    if ( (rc = ioctl(fd, IOCTL_GNTDEV_SET_MAX_GRANTS, &set_max)) )
-        return rc;
-
-    return 0;
-}
-
 static struct xc_osdep_ops linux_gnttab_ops = {
     .open = &linux_gnttab_open,
     .close = &linux_gnttab_close,
@@ -649,7 +636,6 @@ static struct xc_osdep_ops linux_gnttab_
         .map_grant_refs = &linux_gnttab_map_grant_refs,
         .map_domain_grant_refs = &linux_gnttab_map_domain_grant_refs,
         .munmap = &linux_gnttab_munmap,
-        .set_max_grants = &linux_gnttab_set_max_grants,
     },
 };
 

_______________________________________________
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®.