Re: [patch 2/5] sparse-vmemmap: specify vmemmap population rangein bytes

From: David Miller
Date: Wed Mar 20 2013 - 14:43:50 EST


From: Johannes Weiner <hannes@xxxxxxxxxxx>
Date: Wed, 20 Mar 2013 14:03:29 -0400

> The sparse code, when asking the architecture to populate the vmemmap,
> specifies the section range as a starting page and a number of pages.
>
> This is an awkward interface, because none of the arch-specific code
> actually thinks of the range in terms of 'struct page' units and
> always translates it to bytes first.
>
> In addition, later patches mix huge page and regular page backing for
> the vmemmap. For this, they need to call vmemmap_populate_basepages()
> on sub-section ranges with PAGE_SIZE and PMD_SIZE in mind. But these
> are not necessarily multiples of the 'struct page' size and so this
> unit is too coarse.
>
> Just translate the section range into bytes once in the generic sparse
> code, then pass byte ranges down the stack.
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Boot tested on sparc64:

Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/