Messages in this thread | | | Date | Wed, 20 Mar 2013 14:43:41 -0400 (EDT) | Subject | Re: [patch 2/5] sparse-vmemmap: specify vmemmap population range in bytes | From | David Miller <> |
| |
From: Johannes Weiner <hannes@cmpxchg.org> 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@cmpxchg.org>
Boot tested on sparc64:
Acked-by: David S. Miller <davem@davemloft.net>
| |