22 Sep, 2009

1 commit

  • Commit 96177299416dbccb73b54e6b344260154a445375 ("Drop free_pages()")
    modified nr_free_pages() to return 'unsigned long' instead of 'unsigned
    int'. This made the casts to 'unsigned long' in most callers superfluous,
    so remove them.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Christoph Lameter
    Acked-by: Ingo Molnar
    Acked-by: Russell King
    Acked-by: David S. Miller
    Acked-by: Kyle McMartin
    Acked-by: WANG Cong
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Haavard Skinnemoen
    Cc: Mikael Starvik
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Cc: Ralf Baechle
    Cc: David Howells
    Acked-by: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Chris Zankel
    Cc: Michal Simek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

03 Apr, 2009

4 commits

  • Add support for !CONFIG_MMU setups.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Chris Zankel

    Johannes Weiner
     
  • The current assumption of the memory code is that the first RAM PFN in
    the system is 0.

    Adjust the relevant code to play well with setups where memory starts
    at higher addresses, indicated by PLATFORM_DEFAULT_MEM_START.

    The new memory model looks like this:

    +----------+--+----------------------+----------------+
    | | | | |
    | | | RAM | |
    | | | | |
    +----------+--+----------------------+----------------+
    | | | | |
    +- PFN 0 | +- min_low_pfn +- max_low_pfn +- max_pfn
    |
    +- ARCH_PFN_OFFSET
    +- PLATFORM_DEFAULT_MEM_START >> PAGE_SIZE

    The memory map contains pages starting from pfn ARCH_PFN_OFFSET up to
    max_low_pfn. The only zone used right now will span exactly the same
    region.

    Usually, ARCH_PFN_OFFSET and min_low_pfn are the same value. Handle
    them separately for robustness. Gapping pages will be in the memory
    map but marked as reserved and won't be touched.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Chris Zankel

    Johannes Weiner
     
  • If min_low_pfn is non-zero, the bitmap reserved for bootmem is bigger
    than needed. The number of pages bootmem has to maintain is the range
    from min_low_pfn to max_low_pfn.

    For now it has only been a theoretical mistake, min_low_pfn was always
    zero.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Chris Zankel

    Johannes Weiner
     
  • The second argument to init_bootmem_node() is the PFN to place the
    bootmem bitmap at and the third argument is the first PFN on the node.

    This is currently backwards but never made any problems as both values
    were always zero.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Chris Zankel

    Johannes Weiner
     

27 Jul, 2008

2 commits

  • Remove arch-specific show_mem() in favor of the generic version.

    This also removes the following redundant information display:

    - free pages, printed by show_free_areas()
    - pages in swapcache, printed by show_swap_cache_info()

    where show_mem() calls show_free_areas(), which calls
    show_swap_cache_info().

    Signed-off-by: Johannes Weiner
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Kmem cache passed to constructor is only needed for constructors that are
    themselves multiplexeres. Nobody uses this "feature", nor does anybody uses
    passed kmem cache in non-trivial way, so pass only pointer to object.

    Non-trivial places are:
    arch/powerpc/mm/init_64.c
    arch/powerpc/mm/hugetlbpage.c

    This is flag day, yes.

    Signed-off-by: Alexey Dobriyan
    Acked-by: Pekka Enberg
    Acked-by: Christoph Lameter
    Cc: Jon Tollefson
    Cc: Nick Piggin
    Cc: Matt Mackall
    [akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]
    [akpm@linux-foundation.org: fix mm/slab.c]
    [akpm@linux-foundation.org: fix ubifs]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

14 Feb, 2008

1 commit


28 Aug, 2007

1 commit

  • Add support for processors that have cache-aliasing issues, such as
    the Stretch S5000 processor. Cache-aliasing means that the size of
    the cache (for one way) is larger than the page size, thus, a page
    can end up in several places in cache depending on the virtual to
    physical translation. The method used here is to map a user page
    temporarily through the auto-refill way 0 and of of the DTLB.
    We probably will want to revisit this issue and use a better
    approach with kmap/kunmap.

    Signed-off-by: Chris Zankel

    Chris Zankel
     

01 Jun, 2007

1 commit


11 Dec, 2006

1 commit

  • The Xtensa port contained many header files that were never needed. This
    rather lengthy patch removes all those files. Unfortunately, there were
    many dependencies that needed to be updated, so this patch touches quite a
    few source files.

    Signed-off-by: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Zankel
     

01 Jul, 2006

1 commit


22 Mar, 2006

1 commit

  • set_page_count usage outside mm/ is limited to setting the refcount to 1.
    Remove set_page_count from outside mm/, and replace those users with
    init_page_count() and set_page_refcounted().

    This allows more debug checking, and tighter control on how code is allowed
    to play around with page->_count.

    Signed-off-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

23 Sep, 2005

1 commit


24 Jun, 2005

1 commit