|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 5/7] libxc: implement gntshr for minios
Marek Marczykowski, le Mon 29 Apr 2013 01:17:16 +0200, a écrit :
> On 29.04.2013 00:44, Samuel Thibault wrote:
> > Marek Marczykowski, le Tue 23 Apr 2013 05:17:59 +0200, a écrit :
> >> +static int minios_gntshr_munmap(xc_gntshr *xcg, xc_osdep_handle h,
> >> + void *start_address, uint32_t count)
> >> +{
> >> + int i;
> >> + uint32_t gref;
> >> +
> >> + for (i = 0; i < count; i++) {
> >> + gref = gnttab_find_grant_of_page(start_address + i * PAGE_SIZE);
> >
> > This can become quite expensive. Can we really not afford allocating the
> > list of grants, keeping its adresse in the xc_osdep_handle?
>
> count is number of pages,
But that could be somehow big if using e.g. a 1MiB buffer.
> Also most likely munmap will be called very rarely (connection close).
Quadratic complexity is still not a good thing :)
> Anyway I haven't calculated how much memory such mapping will require
Well, just the gref per page, so about 0.1% of the memory you allocate
with memalign.
> and how much memory is still available in stubdom. Do you have some
> numbers?
Well, it's essentially up to the user.
> What can be xc_osdep_handle? In (almost?) every case it is file descriptor.
> Can it be some memory pointer?
IIRC Xen already assumes that a pointer can fit into an unsigned long,
yes. In the current implementation of minios it is true at least.
Samuel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |