|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 10/31] libxl: Crash (more sensibly) on malloc failure
Ian Campbell writes ("Re: [Xen-devel] [PATCH 10/31] libxl: Crash (more
sensibly) on malloc failure"):
> On Wed, 2012-04-11 at 12:04 +0100, Ian Jackson wrote:
> > NB that libxl__ptr_add needs to be rewritten not to be quadratic in
> > the number of pointrs added (!)
>
> Isn't it O(N) in numbers of pointers?
Yes, each addition is O(N). Adding N pointers is O(N^2).
> I also just noticed that the initial:
> /* fast case: we have space in the array for storing the pointer */
> for (i = 0; i < gc->alloc_maxsize; i++) {
> if (!gc->alloc_ptrs[i]) {
> gc->alloc_ptrs[i] = ptr;
> return 0;
> }
> }
> is a bit suboptimal since we never remove a ptr from the array, so we
> may as well track the max actually used. Then the fast path might
> actually be fast...
I thought we used to have a function for removing pointers from the gc
but I see that it has gone. So yes this could be rewritten fairly
simply.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |