Re: [RFC PATCH v1 00/19] kill free_all_bootmem() and clean up VALID_PAGE()

2013-04-16 Thread Jiang Liu
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()

2013-04-14 Thread Paul Mackerras
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()

2013-04-13 Thread Jiang Liu
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/