Messages in this thread | | | Date | Tue, 9 Feb 2010 14:33:07 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 15/35] x86: make 64 bit use early_res instead of bootmem before slab |
| |
On Tue, 09 Feb 2010 13:37:04 -0800 Yinghai Lu <yinghai@kernel.org> wrote:
> On 02/09/2010 12:26 PM, Andrew Morton wrote: > > On Tue, 09 Feb 2010 11:32:26 -0800 > > Yinghai Lu <yinghai@kernel.org> wrote: > > > >> +u64 __init find_early_area(u64 ei_start, u64 ei_last, u64 start, u64 end, > >> + u64 size, u64 align) > >> +{ > >> + u64 addr, last; > >> + > >> + addr = round_up(ei_start, align); > > > > Can we use include/linux/log2.h:roundup_pow_of_two() in this patchset? > > no, that is not what we want. > > > /** > * roundup_pow_of_two - round the given value up to nearest power of two > * @n - parameter > * > * round the given value up to the nearest power of two > * - the result is undefined when n == 0 > * - this can be used to initialise global variables from constant data > */ > #define roundup_pow_of_two(n) \ > ( \ > __builtin_constant_p(n) ? ( \ > (n == 1) ? 1 : \ > (1UL << (ilog2((n) - 1) + 1)) \ > ) : \ > __roundup_pow_of_two(n) \ > ) >
err, crap, yeah.
It would be nice to fix all this up, and get the private round_up() stuff out of x86 and into kernel.h.
The present naming scheme is ghastly:
ALIGN DIV_ROUND_UP roundup round_up round_down
Where round_up and ALIGN are kinda maybe the same.
| |