|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 14/14] libxl: build a device tree for ARM guests
On Fri, 2013-11-08 at 15:14 +0000, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH v3 14/14] libxl: build a device tree for ARM
> guests"):
> > On Thu, 2013-11-07 at 17:47 +0000, Ian Jackson wrote:
> > > Personally I normally do something like this
> > > fdt_size += 4096;
> > > fdt_size <<= 2;
> > > which avoids the if (fdt_size). The only downside is that the
> > > answers aren't uniformly powers of 2.
> >
> > TBH I could just go with += and avoid the <<=, I don't actually expect
> > an FDT to be so large that exponentially increasing size is that
> > important.
>
> Bear in mind that each of these iterations dumps a bunch of garbage
> into the gc.
True. We have a bunch of such loops over libxl though.
Or was you concern the larger than usual allocation for the fdt itself
more than the various sundry allocations during creation? Perhaps I
should use libxl__realloc for the big one anyway.
>
> > How would
> > for(fdt_size = 4096; fdt_size < FDT_SIZE_MAX; fdt_size <<= 2)
> > and use continue on error in the macro, with a break at the bottom of
> > the loop (success) sit with you?
>
> That would be OK, but using "continue" makes the macro unsuitable to
> use in a loop, which is less good. I think it's worth a goto to make
> the macro loop-safe.
OK.
>
> If you prefer "continue" you can do "goto resize_continue" and put
> resize_continue at the end of the loop.
>
> Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |