• David Miller's avatar
    sparc64: Halve the size of PTE tables · 56a70b8c
    David Miller authored
    The reason we want to do this is to facilitate transparent huge page
    support.
    
    Right now PMD's cover 8MB of address space, and our huge page size is 4MB.
     The current transparent hugepage support is not able to handle HPAGE_SIZE
    != PMD_SIZE.
    
    So make PTE tables be sized to half of a page instead of a full page.
    
    We can still map properly the whole supported virtual address range which
    on sparc64 requires 44 bits.  Add a compile time CPP test which ensures
    that this requirement is always met.
    
    There is a minor inefficiency added by this change.  We only use half of
    the page for PTE tables.  It's not trivial to use only half of the page
    yet still get all of the pgtable_page_{ctor,dtor}() stuff working
    properly.  It is doable, and that will come in a subsequent change.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    56a70b8c
tsb.h 8.44 KB