[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |