Re: [RFC PATCH v1 00/19] kill free_all_bootmem() and clean up VALID_PAGE()
On 04/15/2013 12:56 PM, Paul Mackerras wrote: > On Sat, Apr 13, 2013 at 11:36:20PM +0800, Jiang Liu wrote: >> Commit 600cc5b7f6 "mm: Kill NO_BOOTMEM version free_all_bootmem_node()" >> has kill free_all_bootmem_node() for NO_BOOTMEM. >> >> Currently the usage pattern for free_all_bootmem_node() is like: >> for_each_online_pgdat(pgdat) >> free_all_bootmem_node(pgdat); >> >> It's equivalent to free_all_bootmem(), so this patchset goes one >> step further to kill free_all_bootmem_node() for BOOTMEM too. >> >> This patchset also tries to clean up code and comments related to >> VALID_PAGE() because it has been removed from kernel long time ago. >> >> Patch 1-11: >> Kill free_all_bootmem_node() >> Patch 12-16: >> Clean up code and comments related to VALID_PAGE() >> Patch 17: >> Fix a minor build warning for m68k >> Patch 18: >> merge Alpha's mem_init() for UMA and NUMA. >> Patch 19: >> call register_page_bootmem_info_node() from mm core > > How does this not break bisection? Will a kernel still boot with > patches 1-11 applied but not patch 19? As far as I can see such a > kernel would have no memory available to it after mem_init() time > and would therefore crash early in boot. Hi Paul, Thanks for review! Patch 1-11 replace free_all_bootmem_node() with free_all_bootmem(), so all normal pages will be freed into the buddy system as before. And patch 1-11 are independent with patch 19. Gerry > > Paul. > -- 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/
Re: [RFC PATCH v1 00/19] kill free_all_bootmem() and clean up VALID_PAGE()
On Sat, Apr 13, 2013 at 11:36:20PM +0800, Jiang Liu wrote: > Commit 600cc5b7f6 "mm: Kill NO_BOOTMEM version free_all_bootmem_node()" > has kill free_all_bootmem_node() for NO_BOOTMEM. > > Currently the usage pattern for free_all_bootmem_node() is like: > for_each_online_pgdat(pgdat) > free_all_bootmem_node(pgdat); > > It's equivalent to free_all_bootmem(), so this patchset goes one > step further to kill free_all_bootmem_node() for BOOTMEM too. > > This patchset also tries to clean up code and comments related to > VALID_PAGE() because it has been removed from kernel long time ago. > > Patch 1-11: > Kill free_all_bootmem_node() > Patch 12-16: > Clean up code and comments related to VALID_PAGE() > Patch 17: > Fix a minor build warning for m68k > Patch 18: > merge Alpha's mem_init() for UMA and NUMA. > Patch 19: > call register_page_bootmem_info_node() from mm core How does this not break bisection? Will a kernel still boot with patches 1-11 applied but not patch 19? As far as I can see such a kernel would have no memory available to it after mem_init() time and would therefore crash early in boot. Paul. -- 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/
[RFC PATCH v1 00/19] kill free_all_bootmem() and clean up VALID_PAGE()
Commit 600cc5b7f6 "mm: Kill NO_BOOTMEM version free_all_bootmem_node()" has kill free_all_bootmem_node() for NO_BOOTMEM. Currently the usage pattern for free_all_bootmem_node() is like: for_each_online_pgdat(pgdat) free_all_bootmem_node(pgdat); It's equivalent to free_all_bootmem(), so this patchset goes one step further to kill free_all_bootmem_node() for BOOTMEM too. This patchset also tries to clean up code and comments related to VALID_PAGE() because it has been removed from kernel long time ago. Patch 1-11: Kill free_all_bootmem_node() Patch 12-16: Clean up code and comments related to VALID_PAGE() Patch 17: Fix a minor build warning for m68k Patch 18: merge Alpha's mem_init() for UMA and NUMA. Patch 19: call register_page_bootmem_info_node() from mm core This patch is based on patchset at http://marc.info/?l=linux-mm&m=136525931917910&w=2 Jiang Liu (19): mm: introduce accessor function set_max_mapnr() mm/AVR32: prepare for killing free_all_bootmem_node() mm/IA64: prepare for killing free_all_bootmem_node() mm/m32r: prepare for killing free_all_bootmem_node() mm/m68k: prepare for killing free_all_bootmem_node() mm/metag: prepare for killing free_all_bootmem_node() mm/MIPS: prepare for killing free_all_bootmem_node() mm/PARISC: prepare for killing free_all_bootmem_node() mm/PPC: prepare for killing free_all_bootmem_node() mm/SH: prepare for killing free_all_bootmem_node() mm: kill free_all_bootmem_node() mm/ALPHA: clean up unused VALID_PAGE() mm/CRIS: clean up unused VALID_PAGE() mm/microblaze: clean up unused VALID_PAGE() mm/ARM: fix stale comment about VALID_PAGE() mm/unicore32: fix stale comment about VALID_PAGE() mm/m68k: fix build warning of unused variable mm/alpha: unify mem_init() for both UMA and NUMA architectures mm: call register_page_bootmem_info_node() from mm core arch/alpha/include/asm/mmzone.h |2 -- arch/alpha/mm/init.c|7 ++- arch/alpha/mm/numa.c| 10 -- arch/arm/include/asm/memory.h |6 -- arch/avr32/mm/init.c| 21 + arch/cris/include/asm/page.h|1 - arch/ia64/mm/init.c |9 ++--- arch/m32r/mm/init.c | 17 - arch/m68k/mm/init.c | 15 --- arch/metag/mm/init.c| 14 ++ arch/microblaze/include/asm/page.h |1 - arch/mips/sgi-ip27/ip27-memory.c| 12 +--- arch/parisc/mm/init.c | 12 +--- arch/powerpc/mm/mem.c | 16 +--- arch/sh/mm/init.c | 16 arch/sparc/mm/init_64.c | 12 arch/unicore32/include/asm/memory.h |6 -- arch/x86/mm/init_64.c | 12 include/linux/bootmem.h |1 - include/linux/mm.h |9 - mm/bootmem.c| 24 ++-- mm/nobootmem.c |6 ++ 22 files changed, 50 insertions(+), 179 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/