The original goal of this patchset is to fix the bug reported by
https://bugzilla.kernel.org/show_bug.cgi?id=53501
Now it has also been expanded to reduce common code used by memory
initializion.

This is the third part, previous two patch sets could be accessed at:
http://marc.info/?l=linux-mm&m=136289696323825&w=2
http://marc.info/?l=linux-mm&m=136290291524901&w=2

This patchset applies to
https://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git since-3.8

Patch 1-6 are minor fixes and furthur work for preview patchset,
which uses common helper functions to free reserved pages.

Patch 7-11 enhance the way to calculate zone->managed_pages and report
available pages as "MemTotal" for each NUMA node

Patch 12 concentrates adjusting of totalram_pages, which reduces 37
references to totalram_pages from arch/ subdirectories.

We have only tested these patchset on x86 platforms, and have done basic
compliation tests using cross-compilers from ftp.kernel.org. That means
some code may not pass compilation on some architectures. So any help
to test this patchset are welcomed!

There is still another part still under development:
Part4: introduce helper functions to simplify mem_init() and remove the
        global variable num_physpages.

Jiang Liu (12):
  mm: enhance free_reserved_area() to support poisoning memory with
    zero
  mm/ARM64: kill poison_init_mem()
  mm/x86: use common help functions to furthur simplify code
  mm/tile: use common help functions to free reserved pages
  mm/powertv: use common help functions to free reserved pages
  mm/acornfb: use common help functions to free reserved pages
  mm: accurately calculate zone->managed_pages for highmem zones
  mm: use a dedicated lock to protect totalram_pages and
    zone->managed_pages
  mm: avoid using __free_pages_bootmem() at runtime
  mm: correctly update zone->mamaged_pages
  mm: report available pages as "MemTotal" for each NUMA node
  mm: concentrate adjusting of totalram_pages

 arch/alpha/kernel/sys_nautilus.c      |    2 +-
 arch/alpha/mm/init.c                  |    6 ++--
 arch/alpha/mm/numa.c                  |    2 +-
 arch/arm/mm/init.c                    |   11 ++++----
 arch/arm64/mm/init.c                  |   15 ++--------
 arch/avr32/mm/init.c                  |    6 ++--
 arch/blackfin/mm/init.c               |    6 ++--
 arch/c6x/mm/init.c                    |    6 ++--
 arch/cris/mm/init.c                   |    4 +--
 arch/frv/mm/init.c                    |    6 ++--
 arch/h8300/mm/init.c                  |    6 ++--
 arch/hexagon/mm/init.c                |    3 +-
 arch/ia64/mm/init.c                   |    4 +--
 arch/m32r/mm/init.c                   |    6 ++--
 arch/m68k/mm/init.c                   |    8 +++---
 arch/microblaze/mm/init.c             |    6 ++--
 arch/mips/mm/init.c                   |    2 +-
 arch/mips/powertv/asic/asic_devices.c |   13 ++-------
 arch/mips/sgi-ip27/ip27-memory.c      |    2 +-
 arch/mn10300/mm/init.c                |    2 +-
 arch/openrisc/mm/init.c               |    6 ++--
 arch/parisc/mm/init.c                 |    8 +++---
 arch/powerpc/kernel/kvm.c             |    2 +-
 arch/powerpc/mm/mem.c                 |    7 ++---
 arch/s390/mm/init.c                   |    4 +--
 arch/score/mm/init.c                  |    2 +-
 arch/sh/mm/init.c                     |    6 ++--
 arch/sparc/mm/init_32.c               |    3 +-
 arch/sparc/mm/init_64.c               |   10 +++----
 arch/tile/mm/init.c                   |    9 ++----
 arch/um/kernel/mem.c                  |    4 +--
 arch/unicore32/mm/init.c              |    6 ++--
 arch/x86/mm/highmem_32.c              |    5 ++++
 arch/x86/mm/init.c                    |   14 ++--------
 arch/x86/mm/init_32.c                 |    2 +-
 arch/x86/mm/init_64.c                 |   24 ++++------------
 arch/xtensa/mm/init.c                 |    6 ++--
 drivers/video/acornfb.c               |   28 ++-----------------
 drivers/virtio/virtio_balloon.c       |    8 ++++--
 drivers/xen/balloon.c                 |   23 ++++------------
 include/linux/bootmem.h               |    1 +
 include/linux/mm.h                    |   17 ++++++------
 include/linux/mmzone.h                |   14 +++++++---
 mm/bootmem.c                          |   41 +++++++++++++++++----------
 mm/hugetlb.c                          |    2 +-
 mm/memory_hotplug.c                   |   31 ++++-----------------
 mm/nobootmem.c                        |   35 +++++++++++++----------
 mm/page_alloc.c                       |   49 ++++++++++++++++++++++-----------
 48 files changed, 210 insertions(+), 273 deletions(-)

-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to