diff mbox series

mm: remove the redundancy code

Message ID 20200629173047.GA38128@ubuntu (mailing list archive)
State New, archived
Headers show
Series mm: remove the redundancy code | expand

Commit Message

Hui Su June 29, 2020, 5:30 p.m. UTC
remove the redundancy code, the zone_start_pfn
is assigned from zone->zone_start_pfn
Signed-off-by: Su Hui <sh_def@163.com>
---
 mm/page_alloc.c | 2 --
 1 file changed, 2 deletions(-)

Comments

David Rientjes June 29, 2020, 6:50 p.m. UTC | #1
On Tue, 30 Jun 2020, Su Hui wrote:

> remove the redundancy code, the zone_start_pfn
> is assigned from zone->zone_start_pfn
> Signed-off-by: Su Hui <sh_def@163.com>

I don't think this is redundant, it's used by memory hotplug when onlining 
new memory.

> ---
>  mm/page_alloc.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 3c4eb750a199..3372a8c9fbc4 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6215,8 +6215,6 @@ void __meminit init_currently_empty_zone(struct zone *zone,
>  	if (zone_idx > pgdat->nr_zones)
>  		pgdat->nr_zones = zone_idx;
>  
> -	zone->zone_start_pfn = zone_start_pfn;
> -
>  	mminit_dprintk(MMINIT_TRACE, "memmap_init",
>  			"Initialising map node %d zone %lu pfns %lu -> %lu\n",
>  			pgdat->node_id,
Mike Rapoport June 29, 2020, 8:24 p.m. UTC | #2
On Mon, Jun 29, 2020 at 11:50:15AM -0700, David Rientjes wrote:
> On Tue, 30 Jun 2020, Su Hui wrote:
> 
> > remove the redundancy code, the zone_start_pfn
> > is assigned from zone->zone_start_pfn
> > Signed-off-by: Su Hui <sh_def@163.com>
> 
> I don't think this is redundant, it's used by memory hotplug when onlining 
> new memory.

Right, it is:

$ git grep -wn init_currently_empty_zone mm/memory_hotplug.c
mm/memory_hotplug.c:697:            init_currently_empty_zone(zone, start_pfn, nr_pages);


> > ---
> >  mm/page_alloc.c | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 3c4eb750a199..3372a8c9fbc4 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -6215,8 +6215,6 @@ void __meminit init_currently_empty_zone(struct zone *zone,
> >  	if (zone_idx > pgdat->nr_zones)
> >  		pgdat->nr_zones = zone_idx;
> >  
> > -	zone->zone_start_pfn = zone_start_pfn;
> > -
> >  	mminit_dprintk(MMINIT_TRACE, "memmap_init",
> >  			"Initialising map node %d zone %lu pfns %lu -> %lu\n",
> >  			pgdat->node_id,
>
Hui Su June 30, 2020, 2:02 a.m. UTC | #3
I am sorry that i did not consider the memory hotplug case,
and i think we should add a new param to distinguish two different cases.














At 2020-06-30 04:24:29, "Mike Rapoport" <rppt@kernel.org> wrote:
>On Mon, Jun 29, 2020 at 11:50:15AM -0700, David Rientjes wrote:
>> On Tue, 30 Jun 2020, Su Hui wrote:
>> 
>> > remove the redundancy code, the zone_start_pfn
>> > is assigned from zone->zone_start_pfn
>> > Signed-off-by: Su Hui <sh_def@163.com>
>> 
>> I don't think this is redundant, it's used by memory hotplug when onlining 
>> new memory.
>
>Right, it is:
>
>$ git grep -wn init_currently_empty_zone mm/memory_hotplug.c
>mm/memory_hotplug.c:697:            init_currently_empty_zone(zone, start_pfn, nr_pages);
>
>
>> > ---
>> >  mm/page_alloc.c | 2 --
>> >  1 file changed, 2 deletions(-)
>> > 
>> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>> > index 3c4eb750a199..3372a8c9fbc4 100644
>> > --- a/mm/page_alloc.c
>> > +++ b/mm/page_alloc.c
>> > @@ -6215,8 +6215,6 @@ void __meminit init_currently_empty_zone(struct zone *zone,
>> >  	if (zone_idx > pgdat->nr_zones)
>> >  		pgdat->nr_zones = zone_idx;
>> >  
>> > -	zone->zone_start_pfn = zone_start_pfn;
>> > -
>> >  	mminit_dprintk(MMINIT_TRACE, "memmap_init",
>> >  			"Initialising map node %d zone %lu pfns %lu -> %lu\n",
>> >  			pgdat->node_id,
>> 
>
>-- 
>Sincerely yours,
>Mike.
David Rientjes June 30, 2020, 2:06 a.m. UTC | #4
On Tue, 30 Jun 2020, 苏辉 wrote:

> I am sorry that i did not consider the memory hotplug case,
> and i think we should add a new param to distinguish two different cases.
> 

No need, we can simply continue setting zone->zone_start_pfn unless there 
is a bug to be fixed (and, if so, please send a bug report).  Removing it 
would not improve anything and would only increase risk.
kernel test robot June 30, 2020, 10:28 a.m. UTC | #5
Hi Su,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mmotm/master]

url:    https://github.com/0day-ci/linux/commits/Su-Hui/mm-remove-the-redundancy-code/20200630-013137
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: x86_64-allnoconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project cf1d04484344be52ada8178e41d18fd15a9b880c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   ^
   case 1: ^include/linux/signal.h
   :133:2: note: expanded from macro '_SIG_SET_BINOP'
   case 2: ^
   include/linux/signal.h:147:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:137:2: note: expanded from macro '_SIG_SET_BINOP'
   case 1: ^
   include/linux/signal.h:177:1: warning: unannotated fall-through between switch labels
   _SIG_SET_OP(signotset, _sig_not)
   ^
   include/linux/signal.h:167:2: note: expanded from macro '_SIG_SET_OP'
   case 2: = ^
   include/linux/signal.h:177:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:169:2: note: expanded from macro '_SIG_SET_OP'
   case 1: = ^
>> include/linux/signal.h:150:1: warning: include/linux/signal.h:unannotated fall-through between switch labels warning: unannotated fall-through between switch labels
   case 1: = 0;
--
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:203:2: note: insert 'break;' to avoid fall-through
   case 1: = -1;
   ^
   break;
   include/linux/signal.h:233:2: warning: unannotated fall-through between switch labels
   case 1: ;
   ^
   kernel//irq/handle.c:170:3: warning: unannotated fall-through between switch labels
   case IRQ_HANDLED:
   ^
   3kernel//irq/handle.cinclude/linux/signal.h:233:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: ;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:233:2: note: insert 'break;' to avoid fall-through
   case 1: ;
   ^
   break;
   include/linux/signal.h:245:2: warning: unannotated fall-through between switch labels
   case 1: ;
   ^
   :170:3: note: insert '__attribute__((fallthrough));' to silence this warning
   case IRQ_HANDLED:
   ^
   __attribute__((fallthrough));
   kernel//irq/handle.c:170:3: note: insert 'break;' to avoid fall-through
   case IRQ_HANDLED:
   ^
   break;
   include/linux/signal.h:245:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: ;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:245:2: note: insert 'break;' to avoid fall-through
   case 1: ;
   ^
   break;
   warnings generated.
   In file included from kernel//events/core.c:24:
   In file included from include/linux/ptrace.h:7:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:147:1: warning: unannotated fall-through between switch labels
   _SIG_SET_BINOP(sigorsets, _sig_or)
   ^
   include/linux/signal.h:133:2: note: expanded from macro '_SIG_SET_BINOP'
   case 2: ^
   include/linux/signal.h:147:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:137:2: note: expanded from macro '_SIG_SET_BINOP'
   case 1: ^
   include/linux/signal.h:150:1: warning: unannotated fall-through between switch labels
   _SIG_SET_BINOP(sigandsets, _sig_and)
   ^
   include/linux/signal.h:133:2: note: expanded from macro '_SIG_SET_BINOP'
   case 2: ^
   include/linux/signal.h:150:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:137:2: note: expanded from macro '_SIG_SET_BINOP'
   case 1: ^
   include/linux/signal.h:153:1: warning: unannotated fall-through between switch labels
   _SIG_SET_BINOP(sigandnsets, _sig_andn)
   ^
   include/linux/signal.h:133:2: note: expanded from macro '_SIG_SET_BINOP'
   case 2: ^
   include/linux/signal.h:153:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:137:2: note: expanded from macro '_SIG_SET_BINOP'
   case 1: ^
   include/linux/signal.h:177:1: warning: unannotated fall-through between switch labels
   _SIG_SET_OP(signotset, _sig_not)
   ^
   include/linux/signal.h:167:2: note: expanded from macro '_SIG_SET_OP'
   case 2: = ^
   include/linux/signal.h:177:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:169:2: note: expanded from macro '_SIG_SET_OP'
   case 1: = ^
   include/linux/signal.h:190:2: warning: unannotated fall-through between switch labels
   case 1: = 0;
   ^
   include/linux/signal.h:190:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: = 0;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:190:2: note: insert 'break;' to avoid fall-through
   case 1: = 0;
   ^
   break;
   include/linux/signal.h:203:2: warning: unannotated fall-through between switch labels
   case 1: = -1;
   ^
   In file included from kernel//locking/semaphore.c:34:
   In file included from include/linux/ftrace.h:11:
   In file included from include/linux/kallsyms.h:12:
   include/linux/mm.h:162:2: warning: unannotated fall-through between switch labels
   case 72:
   ^
   In file included from kernel//time/time.c:33:
   In file included from include/linux/syscalls.h:85:
   In file included from include/trace/syscall.h:7:
   In file included from include/linux/trace_events.h:6:
   In file included from include/linux/ring_buffer.h:5:
>> include/linux/mm.h:162:2: warning: include/linux/signal.hunannotated fall-through between switch labels
   : case 72:203
   ^:
   2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: = -1;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:203:2: note: insert 'break;' to avoid fall-through
   case 1: = -1;
   ^
   break;
   include/linux/signal.h:233:2: warning: unannotated fall-through between switch labels
   case 1: ;
   ^
   include/linux/signal.hinclude/linux/mm.h:162:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 72:
   ^
   __attribute__((fallthrough));
   include/linux/mm.h:162:2: note: insert 'break;' to avoid fall-through
   case 72:
   ^
   break;
   include/linux/mm.h:164:2: warning: unannotated fall-through between switch labels
   case 64:
   ^
   include/linux/mm.h:164:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 64:
   ^
   __attribute__((fallthrough));
   include/linux/mm.h:164:2: note: insert 'break;' to avoid fall-through
   case 64:
   ^
   break;
   include/linux/mm.h:166:2: warning: unannotated fall-through between switch labels
   case 56:
   ^
   :233:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: ;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:233:2: note: insert 'break;' to avoid fall-through
   case 1: ;
   ^
   break;
   include/linux/signal.h:245:2: warning: unannotated fall-through between switch labels
   case 1: ;
   ^
   include/linux/mm.h:166:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 56:
   ^
   __attribute__((fallthrough));
   include/linux/mm.h:166:2: note: insert 'break;' to avoid fall-through
   case 56:
   ^
   break;
   include/linux/mm.h:162:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 72:
   ^
   __attribute__((fallthrough));
   include/linux/mm.h:162:2: note: insert 'break;' to avoid fall-through
   case 72:
   ^
   break;
   include/linux/mm.h:164:2: warning: unannotated fall-through between switch labels
   case 64:
   ^
   12 warnings generated.
   include/linux/signal.h:245:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: ;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:245:2: note: insert 'break;' to avoid fall-through
   case 1: ;
   ^
   break;
   1 warning generated.
   include/linux/mm.h:164:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 64:
   ^
   __attribute__((fallthrough));
   include/linux/mm.h:164:2: note: insert 'break;' to avoid fall-through
   case 64:
   ^
   break;
   include/linux/mm.h:166:2: warning: unannotated fall-through between switch labels
   case 56:
   ^
   In file included from kernel//sched/loadavg.c:9:
   In file included from kernel//sched/sched.h:11:
   In file included from include/linux/sched/cputime.h:5:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:147:1: warning: unannotated fall-through between switch labels
   _SIG_SET_BINOP(sigorsets, _sig_or)
   ^
   include/linux/signal.h:133:2: note: expanded from macro '_SIG_SET_BINOP'
   case 2: ^
   include/linux/signal.h:147:1: warning: unannotated fall-through between switch labels
   include/linux/signal.h:137:2: note: expanded from macro '_SIG_SET_BINOP'
   case 1: ^
   include/linux/signal.h:150:1: warning: unannotated fall-through between switch labels
   _SIG_SET_BINOP(sigandsets, _sig_and)

vim +150 include/linux/signal.h

^1da177e4c3f41 Linus Torvalds 2005-04-16  148  
^1da177e4c3f41 Linus Torvalds 2005-04-16  149  #define _sig_and(x,y)	((x) & (y))
^1da177e4c3f41 Linus Torvalds 2005-04-16 @150  _SIG_SET_BINOP(sigandsets, _sig_and)
^1da177e4c3f41 Linus Torvalds 2005-04-16  151  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
kernel test robot June 30, 2020, 11:52 a.m. UTC | #6
Hi Su,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on mmotm/master]

url:    https://github.com/0day-ci/linux/commits/Su-Hui/mm-remove-the-redundancy-code/20200630-013137
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: x86_64-allnoconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project cf1d04484344be52ada8178e41d18fd15a9b880c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   ^
   include/linux/mm.h:162:2: note: insert 'break;' to avoid fall-throughinclude/linux/signal.h
   case 72:
   ^
   break; :
   include/linux/mm.h:190164:2: warning: unannotated fall-through between switch labels
   case 64::include/linux/mm.h:164:2: note: insert '__attribute__((fallthrough));' to silence this warning
>> case 64:2: warning: unannotated fall-through between switch labels
   case 1: = 0;
   ^
   include/linux/signal.h:190:2: note: insert '__attribute__((fallthrough));' to silence this warning
   case 1: = 0;
   ^
   __attribute__((fallthrough));
   include/linux/signal.h:190:2: note: insert 'break;' to avoid fall-through
   case 1: = 0;
   ^
   break;
   include/linux/signal.h:203:2: warning: unannotated fall-through between switch labels
   case 1: = -1;
   ^

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
David Hildenbrand June 30, 2020, 12:39 p.m. UTC | #7
On 29.06.20 19:30, Su Hui wrote:
> remove the redundancy code, the zone_start_pfn
> is assigned from zone->zone_start_pfn
> Signed-off-by: Su Hui <sh_def@163.com>
> ---

Side note: You should really work on better patch subjects/descriptions.
+ casing, punctuation, empty line before Signed-off-by ...

"mm: remove the redundancy code" is as expressive as "mm: fix the bug"
Hui Su June 30, 2020, 1:49 p.m. UTC | #8
I had noticed that.
Thanks.

At 2020-06-30 20:39:27, "David Hildenbrand" <david@redhat.com> wrote:
>On 29.06.20 19:30, Su Hui wrote:
>> remove the redundancy code, the zone_start_pfn
>> is assigned from zone->zone_start_pfn
>> Signed-off-by: Su Hui <sh_def@163.com>
>> ---
>
>Side note: You should really work on better patch subjects/descriptions.
>+ casing, punctuation, empty line before Signed-off-by ...
>
>"mm: remove the redundancy code" is as expressive as "mm: fix the bug"
>
>-- 
>Thanks,
>
>David / dhildenb
diff mbox series

Patch

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3c4eb750a199..3372a8c9fbc4 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6215,8 +6215,6 @@  void __meminit init_currently_empty_zone(struct zone *zone,
 	if (zone_idx > pgdat->nr_zones)
 		pgdat->nr_zones = zone_idx;
 
-	zone->zone_start_pfn = zone_start_pfn;
-
 	mminit_dprintk(MMINIT_TRACE, "memmap_init",
 			"Initialising map node %d zone %lu pfns %lu -> %lu\n",
 			pgdat->node_id,