Message ID | 20200629173047.GA38128@ubuntu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm: remove the redundancy code | expand |
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,
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, >
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.
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.
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
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
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"
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 --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,
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(-)