linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 00/33] accurately calculate pages managed by buddy system
@ 2013-03-05 14:54 Jiang Liu
  0 siblings, 0 replies; 2+ messages in thread
From: Jiang Liu @ 2013-03-05 14:54 UTC (permalink / raw)
  To: Andrew Morton, David Rientjes
  Cc: Jiang Liu, Wen Congyang, Maciej Rutecki, Chris Clayton,
	Rafael J . Wysocki, Mel Gorman, Minchan Kim, KAMEZAWA Hiroyuki,
	Michal Hocko, Jianguo Wu, Anatolij Gustschin, Aurelien Jacquiot,
	Benjamin Herrenschmidt, Catalin Marinas, Chen Liqin,
	Chris Metcalf, Chris Zankel, David Howells, David S. Miller,
	Eric Biederman, Fenghua Yu, Geert Uytterhoeven, Guan Xuetao,
	Haavard Skinnemoen, Hans-Christian Egtvedt, Heiko Carstens,
	Helge Deller, Hirokazu Takata, H. Peter Anvin, Ingo Molnar,
	Ivan Kokshaysky, James E.J. Bottomley, Jeff Dike,
	Jeremy Fitzhardinge, Jonas Bonn, Koichi Yasutake,
	Konrad Rzeszutek Wilk, Lennox Wu, Mark Salter, Martin Schwidefsky,
	Matt Turner, Max Filippov, Michael S. Tsirkin, Michal Simek,
	Michel Lespinasse, Mikael Starvik, Mike Frysinger, Paul Mackerras,
	Paul Mundt, Ralf Baechle, Richard Henderson, Rik van Riel,
	Russell King, Rusty Russell, Sam Ravnborg, Tang Chen,
	Thomas Gleixner, Tony Luck, Will Deacon, Yasuaki Ishimatsu,
	Yinghai Lu, Yoshinori Sato, x86, xen-devel, linux-kernel,
	linux-mm, linux-arm-kernel, virtualization

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. In total it has reduced about 550 lines of code.

Patch 1:
	Extract common help functions from free_init_mem() and
	free_initrd_mem() on different architectures.
Patch 2-27:
	Use help functions to simplify free_init_mem() and
	free_initrd_mem() on different architectures. This has reduced
	about 500 lines of code.
Patch 28:
	Introduce common help function to free highmem pages when
	initializing memory subsystem.
Patch 29-32:
	Adjust totalhigh_pages, totalram_pages and zone->managed_pages
	altogether when reserving/unreserving pages.
Patch 33:
	Change /sys/.../node/nodex/meminfo to report available pages
	within the node as "MemTotal".

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!

Jiang Liu (33):
  mm: introduce common help functions to deal with reserved/managed
    pages
  mm/alpha: use common help functions to free reserved pages
  mm/ARM: use common help functions to free reserved pages
  mm/avr32: use common help functions to free reserved pages
  mm/blackfin: use common help functions to free reserved pages
  mm/c6x: use common help functions to free reserved pages
  mm/cris: use common help functions to free reserved pages
  mm/FRV: use common help functions to free reserved pages
  mm/h8300: use common help functions to free reserved pages
  mm/IA64: use common help functions to free reserved pages
  mm/m32r: use common help functions to free reserved pages
  mm/m68k: use common help functions to free reserved pages
  mm/microblaze: use common help functions to free reserved pages
  mm/MIPS: use common help functions to free reserved pages
  mm/mn10300: use common help functions to free reserved pages
  mm/openrisc: use common help functions to free reserved pages
  mm/parisc: use common help functions to free reserved pages
  mm/ppc: use common help functions to free reserved pages
  mm/s390: use common help functions to free reserved pages
  mm/score: use common help functions to free reserved pages
  mm/SH: use common help functions to free reserved pages
  mm/SPARC: use common help functions to free reserved pages
  mm/um: use common help functions to free reserved pages
  mm/unicore32: use common help functions to free reserved pages
  mm/x86: use common help functions to free reserved pages
  mm/xtensa: use common help functions to free reserved pages
  mm,kexec: use common help functions to free reserved pages
  mm: introduce free_highmem_page() helper to free highmem pages inti
    buddy system
  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

 arch/alpha/kernel/sys_nautilus.c             |    5 +-
 arch/alpha/mm/init.c                         |   24 ++-------
 arch/alpha/mm/numa.c                         |    3 +-
 arch/arm/mm/init.c                           |   46 ++++++-----------
 arch/arm64/mm/init.c                         |   26 +---------
 arch/avr32/mm/init.c                         |   24 +--------
 arch/blackfin/mm/init.c                      |   20 +-------
 arch/c6x/mm/init.c                           |   30 +----------
 arch/cris/mm/init.c                          |   16 +-----
 arch/frv/mm/init.c                           |   32 ++----------
 arch/h8300/mm/init.c                         |   28 +----------
 arch/ia64/mm/init.c                          |   23 ++-------
 arch/m32r/mm/init.c                          |   26 ++--------
 arch/m68k/mm/init.c                          |   24 +--------
 arch/microblaze/include/asm/setup.h          |    1 -
 arch/microblaze/mm/init.c                    |   33 ++----------
 arch/mips/mm/init.c                          |   36 ++++----------
 arch/mips/sgi-ip27/ip27-memory.c             |    4 +-
 arch/mn10300/mm/init.c                       |   23 +--------
 arch/openrisc/mm/init.c                      |   27 ++--------
 arch/parisc/mm/init.c                        |   24 ++-------
 arch/powerpc/kernel/crash_dump.c             |    5 +-
 arch/powerpc/kernel/fadump.c                 |    5 +-
 arch/powerpc/kernel/kvm.c                    |    7 +--
 arch/powerpc/mm/mem.c                        |   34 ++-----------
 arch/powerpc/platforms/512x/mpc512x_shared.c |    5 +-
 arch/s390/mm/init.c                          |   35 +++----------
 arch/score/mm/init.c                         |   33 ++----------
 arch/sh/mm/init.c                            |   26 ++--------
 arch/sparc/kernel/leon_smp.c                 |   15 ++----
 arch/sparc/mm/init_32.c                      |   50 +++----------------
 arch/sparc/mm/init_64.c                      |   25 ++--------
 arch/tile/mm/init.c                          |    4 +-
 arch/um/kernel/mem.c                         |   25 ++--------
 arch/unicore32/mm/init.c                     |   26 +---------
 arch/x86/mm/init.c                           |    5 +-
 arch/x86/mm/init_32.c                        |   10 +---
 arch/x86/mm/init_64.c                        |   18 +------
 arch/xtensa/mm/init.c                        |   21 ++------
 drivers/virtio/virtio_balloon.c              |    8 +--
 drivers/xen/balloon.c                        |   19 ++-----
 include/linux/mm.h                           |   36 ++++++++++++++
 include/linux/mmzone.h                       |   14 ++++--
 kernel/kexec.c                               |    8 +--
 mm/bootmem.c                                 |   16 ++----
 mm/hugetlb.c                                 |    2 +-
 mm/memory_hotplug.c                          |   31 ++----------
 mm/nobootmem.c                               |   14 ++----
 mm/page_alloc.c                              |   69 ++++++++++++++++++++++----
 49 files changed, 248 insertions(+), 793 deletions(-)

-- 
1.7.9.5

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-03-07  6:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <51376444.9030601@gmail.com>
2013-03-07  6:25 ` [RFC PATCH v1 00/33] accurately calculate pages managed by buddy system Vineet Gupta
2013-03-05 14:54 Jiang Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).