Hi Guenter,
[Again, just cc'ing the PPC folks]
On Mon, 15 Oct 2018 12:39:14 -0700 Guenter Roeck [off-list ref] wrote:
On Mon, Oct 15, 2018 at 07:25:46PM +1100, Stephen Rothwell wrote:
quoted
Hi all,
Changes since 20181012:
My qemu boots of a powerpc pseries_le_defconfig kernel failed today.
Bisect log:
# bad: [774ea0551a2966c8fc29a6f675c3e28c5c6fa586] Add linux-next specific files for 20181012
# good: [0238df646e6224016a45505d2c111a24669ebe21] Linux 4.19-rc7
git bisect start 'HEAD' 'v4.19-rc7'
# good: [dfbf78faefa3c26d94208398e62bf25ea798e7f2] Merge remote-tracking branch 'spi-nor/spi-nor/next'
git bisect good dfbf78faefa3c26d94208398e62bf25ea798e7f2
# good: [3f296bb430327676912966c56d2f078f74e6b4ab] Merge remote-tracking branch 'tip/auto-latest'
git bisect good 3f296bb430327676912966c56d2f078f74e6b4ab
# good: [056ff0c45d1780f7bac1b54bd4160647efc500ad] Merge remote-tracking branch 'staging/staging-next'
git bisect good 056ff0c45d1780f7bac1b54bd4160647efc500ad
# good: [d7946b50c21a7d88af6c8e88d976ba3dfca651cc] Merge remote-tracking branch 'pinctrl/for-next'
git bisect good d7946b50c21a7d88af6c8e88d976ba3dfca651cc
# good: [72b5ca3121d5352fbb8fe3e1abaa86748205c0cb] Merge remote-tracking branch 'xarray/xarray'
git bisect good 72b5ca3121d5352fbb8fe3e1abaa86748205c0cb
# good: [e3895cf23a25da6dea2c8e986d4f6c24fafe5448] hugetlb: introduce generic version of prepare_hugepage_range
git bisect good e3895cf23a25da6dea2c8e986d4f6c24fafe5448
# good: [627f8833ac26e66d4b50676a0251499474bb4ee4] reiserfs: propagate errors from fill_with_dentries() properly
git bisect good 627f8833ac26e66d4b50676a0251499474bb4ee4
# good: [e38910adf47ba1d0b5a5a573cc26bde1ec533147] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node
git bisect good e38910adf47ba1d0b5a5a573cc26bde1ec533147
# bad: [f89bdd2c52666d9da4bf4ef3a97a7188586ba0fb] dma-direct: fix up for the removal of linux/bootmem.h
git bisect bad f89bdd2c52666d9da4bf4ef3a97a7188586ba0fb
# good: [3108d998dfc36eb7f6b7f2917fc561258f742094] mm: nobootmem: remove bootmem allocation APIs
git bisect good 3108d998dfc36eb7f6b7f2917fc561258f742094
# good: [1f94dacb1d0ed0d1068b89ad867a198d3eca7bf2] memblock: rename __free_pages_bootmem to memblock_free_pages
git bisect good 1f94dacb1d0ed0d1068b89ad867a198d3eca7bf2
# good: [c3954ade0c1b499ae587f3edb813876216212836] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants
git bisect good c3954ade0c1b499ae587f3edb813876216212836
# bad: [cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6] mm: remove include/linux/bootmem.h
git bisect bad cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6
# first bad commit: [cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6] mm: remove include/linux/bootmem.h
Reverting this patch together with its fix-up "powerpc: fix up for removal of
linux/bootmem.h" fixes the problem. This also fixes the traceback seen with all
other ppc64 images.
Guenter
Thanks for this ... though a strange result as those patches were in
next-20181012 as well, so I wonder what else changed.
--
Cheers,
Stephen Rothwell
On Tue, Oct 16, 2018 at 07:33:59AM +1100, Stephen Rothwell wrote:
Hi Guenter,
[Again, just cc'ing the PPC folks]
On Mon, 15 Oct 2018 12:39:14 -0700 Guenter Roeck [off-list ref] wrote:
quoted
On Mon, Oct 15, 2018 at 07:25:46PM +1100, Stephen Rothwell wrote:
quoted
Hi all,
Changes since 20181012:
My qemu boots of a powerpc pseries_le_defconfig kernel failed today.
Bisect log:
# bad: [774ea0551a2966c8fc29a6f675c3e28c5c6fa586] Add linux-next specific files for 20181012
# good: [0238df646e6224016a45505d2c111a24669ebe21] Linux 4.19-rc7
git bisect start 'HEAD' 'v4.19-rc7'
# good: [dfbf78faefa3c26d94208398e62bf25ea798e7f2] Merge remote-tracking branch 'spi-nor/spi-nor/next'
git bisect good dfbf78faefa3c26d94208398e62bf25ea798e7f2
# good: [3f296bb430327676912966c56d2f078f74e6b4ab] Merge remote-tracking branch 'tip/auto-latest'
git bisect good 3f296bb430327676912966c56d2f078f74e6b4ab
# good: [056ff0c45d1780f7bac1b54bd4160647efc500ad] Merge remote-tracking branch 'staging/staging-next'
git bisect good 056ff0c45d1780f7bac1b54bd4160647efc500ad
# good: [d7946b50c21a7d88af6c8e88d976ba3dfca651cc] Merge remote-tracking branch 'pinctrl/for-next'
git bisect good d7946b50c21a7d88af6c8e88d976ba3dfca651cc
# good: [72b5ca3121d5352fbb8fe3e1abaa86748205c0cb] Merge remote-tracking branch 'xarray/xarray'
git bisect good 72b5ca3121d5352fbb8fe3e1abaa86748205c0cb
# good: [e3895cf23a25da6dea2c8e986d4f6c24fafe5448] hugetlb: introduce generic version of prepare_hugepage_range
git bisect good e3895cf23a25da6dea2c8e986d4f6c24fafe5448
# good: [627f8833ac26e66d4b50676a0251499474bb4ee4] reiserfs: propagate errors from fill_with_dentries() properly
git bisect good 627f8833ac26e66d4b50676a0251499474bb4ee4
# good: [e38910adf47ba1d0b5a5a573cc26bde1ec533147] memblock: replace alloc_bootmem_pages_node with memblock_alloc_node
git bisect good e38910adf47ba1d0b5a5a573cc26bde1ec533147
# bad: [f89bdd2c52666d9da4bf4ef3a97a7188586ba0fb] dma-direct: fix up for the removal of linux/bootmem.h
git bisect bad f89bdd2c52666d9da4bf4ef3a97a7188586ba0fb
# good: [3108d998dfc36eb7f6b7f2917fc561258f742094] mm: nobootmem: remove bootmem allocation APIs
git bisect good 3108d998dfc36eb7f6b7f2917fc561258f742094
# good: [1f94dacb1d0ed0d1068b89ad867a198d3eca7bf2] memblock: rename __free_pages_bootmem to memblock_free_pages
git bisect good 1f94dacb1d0ed0d1068b89ad867a198d3eca7bf2
# good: [c3954ade0c1b499ae587f3edb813876216212836] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants
git bisect good c3954ade0c1b499ae587f3edb813876216212836
# bad: [cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6] mm: remove include/linux/bootmem.h
git bisect bad cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6
# first bad commit: [cde1c7f7e92aef241f1c1a09a4d1f1f06fd565b6] mm: remove include/linux/bootmem.h
Reverting this patch together with its fix-up "powerpc: fix up for removal of
linux/bootmem.h" fixes the problem. This also fixes the traceback seen with all
other ppc64 images.
Guenter
Thanks for this ... though a strange result as those patches were in
next-20181012 as well, so I wonder what else changed.
Quite simple - the bisect is wrong. For some reason I started with
next-20181012 (which was fine), not 20181015 (which is broken).
Repeating it now. Sorry for the confusion.
Guenter
On Tue, Oct 16, 2018 at 07:33:59AM +1100, Stephen Rothwell wrote:
Hi Guenter,
[Again, just cc'ing the PPC folks]
On Mon, 15 Oct 2018 12:39:14 -0700 Guenter Roeck [off-list ref] wrote:
quoted
On Mon, Oct 15, 2018 at 07:25:46PM +1100, Stephen Rothwell wrote:
quoted
Hi all,
Changes since 20181012:
My qemu boots of a powerpc pseries_le_defconfig kernel failed today.
Bisect log:
Trying again. Not very useful since some of the steps fail with compile errors.
The problem does seem to be related to the bootmem changes, though.
I might try again tonight if I find the time.
Guenter
# bad: [ca0591d03a2d373e0019ad357fbbee69c8272381] Add linux-next specific files for 20181015
# good: [0238df646e6224016a45505d2c111a24669ebe21] Linux 4.19-rc7
git bisect start 'HEAD' 'v4.19-rc7'
# good: [2fc8fb4c02a0f7b9d5e5b4de80cbcef7c808068b] Merge remote-tracking branch 'spi-nor/spi-nor/next'
git bisect good 2fc8fb4c02a0f7b9d5e5b4de80cbcef7c808068b
# good: [a54eefdf4d208f6904da9e836ff32d7dde0c9516] Merge remote-tracking branch 'tip/auto-latest'
git bisect good a54eefdf4d208f6904da9e836ff32d7dde0c9516
# good: [d71e0d25be750d02a3d04500aeb151bb94465811] Merge remote-tracking branch 'staging/staging-next'
git bisect good d71e0d25be750d02a3d04500aeb151bb94465811
# good: [7961c8ea9d81f927a78e30bb7c194310ed6b7c1d] Merge remote-tracking branch 'pinctrl/for-next'
git bisect good 7961c8ea9d81f927a78e30bb7c194310ed6b7c1d
# good: [c3d392e6aae57d54fdc683f7432c3e248602bebb] Merge remote-tracking branch 'xarray/xarray'
git bisect good c3d392e6aae57d54fdc683f7432c3e248602bebb
# good: [880c1034475c873963d6250eb95ebbbf5604a281] userfaultfd: selftest: cleanup help messages
git bisect good 880c1034475c873963d6250eb95ebbbf5604a281
# good: [9f1fa0ab60f7b09d335bbaf33db9116241059708] reiserfs: propagate errors from fill_with_dentries() properly
git bisect good 9f1fa0ab60f7b09d335bbaf33db9116241059708
# good: [596046ffd571f32fa3d3e7ffdf7861b71a258552] memblock: replace alloc_bootmem_low with memblock_alloc_low (2)
git bisect good 596046ffd571f32fa3d3e7ffdf7861b71a258552
# bad: [ef07e25e5bb02b420cb66004420cea3e0d65d107] dma-direct: fix up for the removal of linux/bootmem.h
git bisect bad ef07e25e5bb02b420cb66004420cea3e0d65d107
# good: [ddaa897c9ab76969a74d67a65b6616895f349644] memblock: replace alloc_bootmem with memblock_alloc
git bisect good ddaa897c9ab76969a74d67a65b6616895f349644
# good: [3b79243c2ef23d829a2f01f8c9526f17b80a7a32] memblock: rename free_all_bootmem to memblock_free_all
git bisect good 3b79243c2ef23d829a2f01f8c9526f17b80a7a32
# good: [d5fa9634892df2bc6bab6101f18df6ba5a2490c5] mm: remove nobootmem
git bisect good d5fa9634892df2bc6bab6101f18df6ba5a2490c5
# bad: [75fd637c22bc9bb5c959b7f93c2c5e5f0495992c] mm: remove include/linux/bootmem.h
git bisect bad 75fd637c22bc9bb5c959b7f93c2c5e5f0495992c
# good: [979961b3058df1a6d24ab423dd6fa6f20982f591] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants
git bisect good 979961b3058df1a6d24ab423dd6fa6f20982f591
# first bad commit: [75fd637c22bc9bb5c959b7f93c2c5e5f0495992c] mm: remove include/linux/bootmem.h
Hi all,
On Mon, 15 Oct 2018 15:22:13 -0700 Guenter Roeck [off-list ref] wrote:
On Tue, Oct 16, 2018 at 07:33:59AM +1100, Stephen Rothwell wrote:
quoted
On Mon, 15 Oct 2018 12:39:14 -0700 Guenter Roeck [off-list ref] wrote:
quoted
On Mon, Oct 15, 2018 at 07:25:46PM +1100, Stephen Rothwell wrote:
quoted
Hi all,
Changes since 20181012:
My qemu boots of a powerpc pseries_le_defconfig kernel failed today.
Bisect log:
Trying again. Not very useful since some of the steps fail with compile errors.
The problem does seem to be related to the bootmem changes, though.
OK, I managed to do the bisect:
fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f is the first bad commit
commit fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f
Author: Mike Rapoport [off-list ref]
Date: Sat Oct 13 14:05:51 2018 +1100
memblock: stop using implicit alignment to SMP_CACHE_BYTES
When a memblock allocation APIs are called with align = 0, the alignment
is implicitly set to SMP_CACHE_BYTES.
Implicit alignment is done deep in the memblock allocator and it can
come as a surprise. Not that such an alignment would be wrong even
when used incorrectly but it is better to be explicit for the sake of
clarity and the prinicple of the least surprise.
Replace all such uses of memblock APIs with the 'align' parameter
explicitly set to SMP_CACHE_BYTES and stop implicit alignment assignment
in the memblock internal allocation functions.
For the case when memblock APIs are used via helper functions, e.g. like
iommu_arena_new_node() in Alpha, the helper functions were detected with
Coccinelle's help and then manually examined and updated where
appropriate.
The direct memblock APIs users were updated using the semantic patch below:
@@
expression size, min_addr, max_addr, nid;
@@
(
|
- memblock_alloc_try_nid_raw(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid_raw(size, SMP_CACHE_BYTES, min_addr, max_addr,
nid)
|
- memblock_alloc_try_nid_nopanic(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid_nopanic(size, SMP_CACHE_BYTES, min_addr, max_addr,
nid)
|
- memblock_alloc_try_nid(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid(size, SMP_CACHE_BYTES, min_addr, max_addr, nid)
|
- memblock_alloc(size, 0)
+ memblock_alloc(size, SMP_CACHE_BYTES)
|
- memblock_alloc_raw(size, 0)
+ memblock_alloc_raw(size, SMP_CACHE_BYTES)
|
- memblock_alloc_from(size, 0, min_addr)
+ memblock_alloc_from(size, SMP_CACHE_BYTES, min_addr)
|
- memblock_alloc_nopanic(size, 0)
+ memblock_alloc_nopanic(size, SMP_CACHE_BYTES)
|
- memblock_alloc_low(size, 0)
+ memblock_alloc_low(size, SMP_CACHE_BYTES)
|
- memblock_alloc_low_nopanic(size, 0)
+ memblock_alloc_low_nopanic(size, SMP_CACHE_BYTES)
|
- memblock_alloc_from_nopanic(size, 0, min_addr)
+ memblock_alloc_from_nopanic(size, SMP_CACHE_BYTES, min_addr)
|
- memblock_alloc_node(size, 0, nid)
+ memblock_alloc_node(size, SMP_CACHE_BYTES, nid)
)
[mhocko@suse.com: changelog update]
Link: http://lkml.kernel.org/r/1538687224-17535-1-git-send-email-rppt@linux.vnet.ibm.com
Signed-off-by: Mike Rapoport [off-list ref]
Suggested-by: Michal Hocko [off-list ref]
Acked-by: Paul Burton [off-list ref] [MIPS]
Acked-by: Michael Ellerman [off-list ref] [powerpc]
Acked-by: Michal Hocko [off-list ref]
Cc: Catalin Marinas [off-list ref]
Cc: Chris Zankel [off-list ref]
Cc: Geert Uytterhoeven [off-list ref]
Cc: Guan Xuetao [off-list ref]
Cc: Ingo Molnar [off-list ref]
Cc: Matt Turner [off-list ref]
Cc: Michal Simek [off-list ref]
Cc: Richard Weinberger [off-list ref]
Cc: Russell King [off-list ref]
Cc: Thomas Gleixner [off-list ref]
Cc: Tony Luck [off-list ref]
Signed-off-by: Andrew Morton [off-list ref]
Signed-off-by: Stephen Rothwell [off-list ref]
:040000 040000 9fdad987cc69ffad8de2d0d621facc66b096aac1 c9959a9199e01f282d1d291a6280b203a8561e7a M arch
:040000 040000 de303e4a0ad2b500de3fca2f65c8943c12c0b077 1581aed934cfb96b2706df9bfa7746edfadffea6 M drivers
:040000 040000 f9179d8189f08e3575031a76181a64eedd148db5 293bc953dcfc2b718f5c7cdd58722284f4393dec M include
:040000 040000 3019b5f917a20420537ac5cf4dc90b3c7f1aa56f 1b88f0791341d17abd259d7a8d2e0cc55147d8f6 M init
:040000 040000 8819d52ce4e6463fc95a2e841baeeddbc9fb8c52 dc167f38bd8c4a80e0ac84ecc981e95b98703393 M kernel
:040000 040000 30c64583e66fc20181d7ce2b6ced9d7e060e1042 4e57b31864cef4e921bbd73150f63637a819e3c4 M lib
:040000 040000 1b341ab0dd034f0fef37c234a771419924e0ecc9 9c489ba60978950733bf678191833fdb9689bdab M mm
# bad: [ca0591d03a2d373e0019ad357fbbee69c8272381] Add linux-next specific files for 20181015
# good: [3a27203102ebfa67bd0bced05b1def499bb59db2] Merge tag 'libnvdimm-fixes-4.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
git bisect start 'HEAD' 'remotes/origin/stable'
# good: [5a09f4fbf98e45de8341bc8176e62afaac8405f6] Merge remote-tracking branch 'crypto/master'
git bisect good 5a09f4fbf98e45de8341bc8176e62afaac8405f6
# good: [a54eefdf4d208f6904da9e836ff32d7dde0c9516] Merge remote-tracking branch 'tip/auto-latest'
git bisect good a54eefdf4d208f6904da9e836ff32d7dde0c9516
# good: [d71e0d25be750d02a3d04500aeb151bb94465811] Merge remote-tracking branch 'staging/staging-next'
git bisect good d71e0d25be750d02a3d04500aeb151bb94465811
# good: [7961c8ea9d81f927a78e30bb7c194310ed6b7c1d] Merge remote-tracking branch 'pinctrl/for-next'
git bisect good 7961c8ea9d81f927a78e30bb7c194310ed6b7c1d
# good: [c3d392e6aae57d54fdc683f7432c3e248602bebb] Merge remote-tracking branch 'xarray/xarray'
git bisect good c3d392e6aae57d54fdc683f7432c3e248602bebb
# good: [880c1034475c873963d6250eb95ebbbf5604a281] userfaultfd: selftest: cleanup help messages
git bisect good 880c1034475c873963d6250eb95ebbbf5604a281
# good: [9f1fa0ab60f7b09d335bbaf33db9116241059708] reiserfs: propagate errors from fill_with_dentries() properly
git bisect good 9f1fa0ab60f7b09d335bbaf33db9116241059708
# good: [596046ffd571f32fa3d3e7ffdf7861b71a258552] memblock: replace alloc_bootmem_low with memblock_alloc_low (2)
git bisect good 596046ffd571f32fa3d3e7ffdf7861b71a258552
# good: [979961b3058df1a6d24ab423dd6fa6f20982f591] memblock: replace BOOTMEM_ALLOC_* with MEMBLOCK variants
git bisect good 979961b3058df1a6d24ab423dd6fa6f20982f591
# bad: [8fab7180e6cd3126f7be81e8e33c8152b99f046b] mm/memory_hotplug: make add_memory() take the device_hotplug_lock
git bisect bad 8fab7180e6cd3126f7be81e8e33c8152b99f046b
# bad: [fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f] memblock: stop using implicit alignment to SMP_CACHE_BYTES
git bisect bad fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f
# good: [2b130e2ae5fdc482305c6d23b05a532addda7c40] powerpc: fix up for removal of linux/bootmem.h
git bisect good 2b130e2ae5fdc482305c6d23b05a532addda7c40
# good: [699f0940861c958f2397c727d80fe324b6d88b06] docs/boot-time-mm: remove bootmem documentation
git bisect good 699f0940861c958f2397c727d80fe324b6d88b06
# first bad commit: [fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f] memblock: stop using implicit alignment to SMP_CACHE_BYTES
Reverting fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f (and the following 2
commits) produces a kernel that boots.
--
Cheers,
Stephen Rothwell
Hi all,
On Tue, 16 Oct 2018 13:02:16 +1100 Stephen Rothwell [off-list ref] wrote:
Reverting fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f (and the following 2
commits) produces a kernel that boots.
Instead of that, I applied this patch on top of linux-next and it boots
and produces a stack trace ...
From: Stephen Rothwell <redacted>
Date: Tue, 16 Oct 2018 13:07:01 +1100
Subject: [PATCH] mm/memblock.c: use dump_stack() instead of WARN_ON_ONCE for
the alignment checks
Using WARN_ON_ONCE too early causes the PowerPC kernel to fail.
Signed-off-by: Stephen Rothwell <redacted>
---
mm/memblock.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mm/memblock.c b/mm/memblock.c
index 5fefc70253ee..f2ef3915a356 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1298,8 +1298,10 @@ static phys_addr_t __init memblock_alloc_range_nid(phys_addr_t size,
{
phys_addr_t found;
- if (WARN_ON_ONCE(!align))
+ if (!align) {
+ dump_stack();
align = SMP_CACHE_BYTES;
+ }
found = memblock_find_in_range_node(size, align, start, end, nid,
flags);@@ -1423,8 +1425,10 @@ static void * __init memblock_alloc_internal(
if (WARN_ON_ONCE(slab_is_available()))
return kzalloc_node(size, GFP_NOWAIT, nid);
- if (WARN_ON_ONCE(!align))
+ if (!align) {
+ dump_stack();
align = SMP_CACHE_BYTES;
+ }
if (max_addr > memblock.current_limit)
max_addr = memblock.current_limit;--
2.18.0
So, patch "memblock: stop using implicit alignment to SMP_CACHE_BYTES"
should *not* remove the 0 -> SMP_CACHE_BYTES update from mm/memblock.c
and just add the dump_stack().
--
Cheers,
Stephen Rothwell
On Tue, 2018-10-16 at 13:19 +1100, Stephen Rothwell wrote:
Hi all,
On Tue, 16 Oct 2018 13:02:16 +1100 Stephen Rothwell [off-list ref] wrote:
quoted
Reverting fe3d2a45e8079fdd7d4da1ff07f4b40bc3cb499f (and the following 2
commits) produces a kernel that boots.
Instead of that, I applied this patch on top of linux-next and it boots
and produces a stack trace ...
From: Stephen Rothwell <redacted>
Date: Tue, 16 Oct 2018 13:07:01 +1100
Subject: [PATCH] mm/memblock.c: use dump_stack() instead of WARN_ON_ONCE for
the alignment checks
Using WARN_ON_ONCE too early causes the PowerPC kernel to fail.
Interesting ... I thought I had fixed that. Might need to be re-fixed.
quoted hunk
Signed-off-by: Stephen Rothwell <redacted>
---
mm/memblock.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/mm/memblock.c b/mm/memblock.c
index 5fefc70253ee..f2ef3915a356 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1298,8 +1298,10 @@ static phys_addr_t __init memblock_alloc_range_nid(phys_addr_t size,
{
phys_addr_t found;
- if (WARN_ON_ONCE(!align))
+ if (!align) {
+ dump_stack();
align = SMP_CACHE_BYTES;
+ }
found = memblock_find_in_range_node(size, align, start, end, nid,
flags);@@ -1423,8 +1425,10 @@ static void * __init memblock_alloc_internal(
if (WARN_ON_ONCE(slab_is_available()))
return kzalloc_node(size, GFP_NOWAIT, nid);
- if (WARN_ON_ONCE(!align))
+ if (!align) {
+ dump_stack();
align = SMP_CACHE_BYTES;
+ }
if (max_addr > memblock.current_limit)
max_addr = memblock.current_limit;--
2.18.0
So, patch "memblock: stop using implicit alignment to SMP_CACHE_BYTES"
should *not* remove the 0 -> SMP_CACHE_BYTES update from mm/memblock.c
and just add the dump_stack().