mm: remove the redundancy code
Subsystems (2)
PATCH 1/1 mm: remove the redundancy code
remove the redundancy code, the zone_start_pfn
is assigned from zone->zone_start_pfn
--- mm/page_alloc.c | 2 -- 1 file changed, 2 deletions(-)
mm/page_alloc.c +0 -2
@@ -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,
Signature · 1 line
2.25.1
Quoted 3 lines · Su Hui
remove the redundancy code, the
zone_start_pfn
is assigned fromzone->zone_start_pfnSigned-off-by Su Hui <[email protected]>
I don't think this is redundant, it's used by memory hotplug when onlining new memory.
Quoted 17 lines
--- mm/page_alloc.c | 2 -- 1 file changed, 2 deletions(-)mm/page_alloc.c +0
-2@@ -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,
Quoted 8 lines · David Rientjes
Quoted 3 lines · Su Hui
remove the redundancy code, the
zone_start_pfn
is assigned fromzone->zone_start_pfnSigned-off-by Su Hui <[email protected]>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);
Quoted 18 lines
Quoted 17 lines
--- mm/page_alloc.c | 2 -- 1 file changed, 2 deletions(-)mm/page_alloc.c +0
-2@@ -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,
Signature · 2 lines
Sincerely yours, Mike.
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.
Quoted 38 lines · Mike Rapoport
Quoted 8 lines · David Rientjes
Quoted 3 lines · Su Hui
remove the redundancy code, the
zone_start_pfn
is assigned fromzone->zone_start_pfnSigned-off-by Su Hui <[email protected]>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);Quoted 18 lines
Quoted 17 lines
--- mm/page_alloc.c | 2 -- 1 file changed, 2 deletions(-)mm/page_alloc.c +0
-2@@ -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,Signature · 2 lines
Sincerely yours, Mike.
Quoted 3 lines · 苏辉
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.
I did not find bug here, and i was just confused when I saw the code.<br/>Thanks.
Quoted 9 lines · David Rientjes
Quoted 3 lines · 苏辉
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_pfnunless 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
build botThank you for the patch! Perhaps something to improve:
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
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(a)lists.01.org
kernel test robot
build botThank you for the patch! Perhaps something to improve:
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
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(a)lists.01.org
Quoted 4 lines · Su Hui
remove the redundancy code, the
zone_start_pfn
is assigned fromzone->zone_start_pfnSigned-off-by Su Hui <[email protected]>---
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"
Signature · 3 lines
Thanks, David / dhildenb
I had noticed that.
Thanks.
Quoted 15 lines · David Hildenbrand
Quoted 4 lines · Su Hui
remove the redundancy code, the
zone_start_pfn
is assigned fromzone->zone_start_pfnSigned-off-by Su Hui <[email protected]>---
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"
Signature · 3 lines
Thanks, David / dhildenb