Next 10: Badness at mm/allocpercpu.c:123

8 messages, 4 authors, 2009-03-11 · open the first message on its own page

Next 10: Badness at mm/allocpercpu.c:123

From: Sachin P. Sant <hidden>
Date: 2009-03-10 14:12:58

While booting Next 20090310 on a powerpc box (Power6 9117-MMA)
i observed the following badness :

[    0.339662] ------------[ cut here ]------------
[    0.339666] Badness at mm/allocpercpu.c:123
[    0.339670] NIP: c0000000001129dc LR: c0000000001129b8 CTR: 0000000000000000
[    0.339676] REGS: c0000000fe1efa10 TRAP: 0700   Not tainted  (2.6.29-rc7-next-20090310)
[    0.339681] MSR: 8000000000029032 <EE,ME,CE,IR,DR>  CR: 24000024  XER: 20000002
[    0.339695] TASK = c0000000fe1dd3d0[1] 'swapper' THREAD: c0000000fe1ec000 CPU: 0
[    0.339701] GPR00: 0000000000000001 c0000000fe1efc90 c000000000948660 c0000000fe019000
[    0.339711] GPR04: 0000000000000000 0000000000000000 c0000000fe019080 c00000000122e980
[    0.339721] GPR08: 0000000000000000 c000000001467dec c0000000fe0e2610 c0000000fe1dd3d0
[    0.339732] GPR12: 0000000044000022 c000000000a22300 c000000000733ad0 c00000000065e0c5
[    0.339742] GPR16: 0000000003c33a08 0000000000000000 c000000000733a08 0000000002f1fc90
[    0.339752] GPR20: c000000000733a20 c000000000679b30 0000000000000000 0000000002f1fc90
[    0.339763] GPR24: 0000000000000000 0000000000000000 c000000000670ccd 0000000000000001
[    0.339773] GPR28: c0000000fe019000 0000000000000080 c0000000008cb908 0000000000000100
[    0.339788] NIP [c0000000001129dc] .__alloc_percpu+0x7c/0x244
[    0.339793] LR [c0000000001129b8] .__alloc_percpu+0x58/0x244
[    0.339798] Call Trace:
[    0.339801] [c0000000fe1efc90] [c0000000001129b8] .__alloc_percpu+0x58/0x244 (unreliable)
[    0.339810] [c0000000fe1efdc0] [c00000000007ce84] .__create_workqueue_key+0x74/0x2a0
[    0.339819] [c0000000fe1efe70] [c000000000716990] .cpuset_init_smp+0x78/0xa4
[    0.339827] [c0000000fe1eff00] [c000000000700334] .kernel_init+0x16c/0x224
[    0.339834] [c0000000fe1eff90] [c00000000002adc8] .kernel_thread+0x54/0x70
[    0.339839] Instruction dump:
[    0.339843] 3863007f 78630624 4bffb94d 60000000 2bbd0008 7c7c1b78 40fd0030 e93e8010
[    0.339856] 80090000 7c000034 5400d97e 78000020 <0b000000> 2fa00000 41fe0010 e93e8010

I have attached the dmesg log here.

Next 20090306 had the same problem, while 20090305 did not.

Thanks
-Sachin

-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------

Re: Next 10: Badness at mm/allocpercpu.c:123

From: Sachin P. Sant <hidden>
Date: 2009-03-11 04:16:42

Sachin P. Sant wrote:
While booting Next 20090310 on a powerpc box (Power6 9117-MMA)
i observed the following badness :

[    0.339662] ------------[ cut here ]------------
[    0.339666] Badness at mm/allocpercpu.c:123
[    0.339670] NIP: c0000000001129dc LR: c0000000001129b8 CTR: 
0000000000000000
[    0.339676] REGS: c0000000fe1efa10 TRAP: 0700   Not tainted  
(2.6.29-rc7-next-20090310)
[    0.339681] MSR: 8000000000029032 <EE,ME,CE,IR,DR>  CR: 24000024  
XER: 20000002
[    0.339695] TASK = c0000000fe1dd3d0[1] 'swapper' THREAD: 
c0000000fe1ec000 CPU: 0
[    0.339701] GPR00: 0000000000000001 c0000000fe1efc90 
c000000000948660 c0000000fe019000
[    0.339711] GPR04: 0000000000000000 0000000000000000 
c0000000fe019080 c00000000122e980
[    0.339721] GPR08: 0000000000000000 c000000001467dec 
c0000000fe0e2610 c0000000fe1dd3d0
[    0.339732] GPR12: 0000000044000022 c000000000a22300 
c000000000733ad0 c00000000065e0c5
[    0.339742] GPR16: 0000000003c33a08 0000000000000000 
c000000000733a08 0000000002f1fc90
[    0.339752] GPR20: c000000000733a20 c000000000679b30 
0000000000000000 0000000002f1fc90
[    0.339763] GPR24: 0000000000000000 0000000000000000 
c000000000670ccd 0000000000000001
[    0.339773] GPR28: c0000000fe019000 0000000000000080 
c0000000008cb908 0000000000000100
[    0.339788] NIP [c0000000001129dc] .__alloc_percpu+0x7c/0x244
[    0.339793] LR [c0000000001129b8] .__alloc_percpu+0x58/0x244
[    0.339798] Call Trace:
[    0.339801] [c0000000fe1efc90] [c0000000001129b8] 
.__alloc_percpu+0x58/0x244 (unreliable)
[    0.339810] [c0000000fe1efdc0] [c00000000007ce84] 
.__create_workqueue_key+0x74/0x2a0
[    0.339819] [c0000000fe1efe70] [c000000000716990] 
.cpuset_init_smp+0x78/0xa4
[    0.339827] [c0000000fe1eff00] [c000000000700334] 
.kernel_init+0x16c/0x224
[    0.339834] [c0000000fe1eff90] [c00000000002adc8] 
.kernel_thread+0x54/0x70
[    0.339839] Instruction dump:
[    0.339843] 3863007f 78630624 4bffb94d 60000000 2bbd0008 7c7c1b78 
40fd0030 e93e8010
[    0.339856] 80090000 7c000034 5400d97e 78000020 <0b000000> 2fa00000 
41fe0010 e93e8010

I have attached the dmesg log here.

Next 20090306 had the same problem, while 20090305 did not.
I see that this WARN_ON was introduced by the following patch from Tejun.

http://lkml.org/lkml/2009/2/18/56

Should i be worried about this warning ?

Thanks
-Sachin


-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------

[GIT PATCH tj-percpu] percpu: fix spurious alignment WARN in legacy SMP percpu allocator

From: Tejun Heo <tj@kernel.org>
Date: 2009-03-11 05:53:40

Impact: remove spurious WARN on legacy SMP percpu allocator

Commit f2a8205c4ef1af917d175c36a4097ae5587791c8 incorrectly added too
tight WARN_ON_ONCE() on alignments for UP and legacy SMP percpu
allocator.  Commit e317603694bfd17b28a40de9d65e1a4ec12f816e fixed it
for UP but legacy SMP allocator was forgotten.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Sachin P. Sant <redacted>
---

Oops, that was a stupid omission.  This patch should fix it.  Ingo,
please pull from the following git vector to receive the first first
four patches from the use-dynamic-percpu-allocator-by-default patchset
(without the actual conversion which can disrupt archs) + this patch.
I moved the actual conversion patch into #tj-percpu-exp branch, so the
pull should be safe.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git tj-percpu

Thanks.

 mm/allocpercpu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/mm/allocpercpu.c b/mm/allocpercpu.c
index 3653c57..1882923 100644
--- a/mm/allocpercpu.c
+++ b/mm/allocpercpu.c
@@ -120,7 +120,7 @@ void *__alloc_percpu(size_t size, size_t align)
 	 * on it.  Larger alignment should only be used for module
 	 * percpu sections on SMP for which this path isn't used.
 	 */
-	WARN_ON_ONCE(align > __alignof__(unsigned long long));
+	WARN_ON_ONCE(align > SMP_CACHE_BYTES);
 
 	if (unlikely(!pdata))
 		return NULL;
-- 
1.6.0.2

[RESEND GIT PATCH tj-percpu] percpu: fix spurious alignment WARN in legacy SMP percpu allocator

From: Tejun Heo <tj@kernel.org>
Date: 2009-03-11 05:54:32

Impact: remove spurious WARN on legacy SMP percpu allocator

Commit f2a8205c4ef1af917d175c36a4097ae5587791c8 incorrectly added too
tight WARN_ON_ONCE() on alignments for UP and legacy SMP percpu
allocator.  Commit e317603694bfd17b28a40de9d65e1a4ec12f816e fixed it
for UP but legacy SMP allocator was forgotten.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Sachin P. Sant <redacted>
---
(RESEND: cc'ing Ingo. :-)

Oops, that was a stupid omission.  This patch should fix it.  Ingo,
please pull from the following git vector to receive the first first
four patches from the use-dynamic-percpu-allocator-by-default patchset
(without the actual conversion which can disrupt archs) + this patch.
I moved the actual conversion patch into #tj-percpu-exp branch, so the
pull should be safe.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git tj-percpu

Thanks.

 mm/allocpercpu.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/mm/allocpercpu.c b/mm/allocpercpu.c
index 3653c57..1882923 100644
--- a/mm/allocpercpu.c
+++ b/mm/allocpercpu.c
@@ -120,7 +120,7 @@ void *__alloc_percpu(size_t size, size_t align)
 	 * on it.  Larger alignment should only be used for module
 	 * percpu sections on SMP for which this path isn't used.
 	 */
-	WARN_ON_ONCE(align > __alignof__(unsigned long long));
+	WARN_ON_ONCE(align > SMP_CACHE_BYTES);
 
 	if (unlikely(!pdata))
 		return NULL;
-- 
1.6.0.2

Re: [RESEND GIT PATCH tj-percpu] percpu: fix spurious alignment WARN in legacy SMP percpu allocator

From: Sachin P. Sant <hidden>
Date: 2009-03-11 06:48:30

Tejun Heo wrote:
Impact: remove spurious WARN on legacy SMP percpu allocator

Commit f2a8205c4ef1af917d175c36a4097ae5587791c8 incorrectly added too
tight WARN_ON_ONCE() on alignments for UP and legacy SMP percpu
allocator.  Commit e317603694bfd17b28a40de9d65e1a4ec12f816e fixed it
for UP but legacy SMP allocator was forgotten.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Sachin P. Sant <redacted>
---
Thanks. The patch fixes the warning.

Tested-by : Sachin Sant [off-list ref]


-- 

---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------

RE: Next 10: Badness at mm/allocpercpu.c:123

From: AA <hidden>
Date: 2009-03-11 08:50:10

Hi all

 

I am newer to linux.

My board is MPC750+MPC106, and  I use MAPB for MPC106.

 

Due to 106 datasheet, 

0x8000,0000 -- 0xFC00,0000   for PCI memory space.

 

As you know, user space is 0~0xbfff,ffff (3G). 

0xc000,0000 ~ 0xffff,ffff(1G) is for kernel.

 

And my question is:

1) where should I map this address space to ?

2) user application can access this address space directly?

 

 

 

_________________________________________________________________
梦幻K图,百变造型,让你的照片与众不同,快来MClub试试吧!
http://club.msn.cn/?form=3

where should I map 0x8000,0000 ~ 0xfc00,0000 to ?

From: AA <hidden>
Date: 2009-03-11 08:53:40

Hi all
 I am newer to linux.
 
 My board is MPC750+MPC106, and I use MAPB for MPC106.
 Due to 106 datasheet, 
 0x8000,0000 -- 0xFC00,0000 for PCI memory space.
 
 As you know, user space is 0~0xbfff,ffff (3G). 
 0xc000,0000 ~ 0xffff,ffff(1G) is for kernel.

 And my question is:
 1) where should I map this address space to ?
 2) user application can access this address space directly?
 
 
_________________________________________________________________
梦幻K图,百变造型,让你的照片与众不同,快来MClub试试吧!
http://club.msn.cn/?form=3

Re: [RESEND GIT PATCH tj-percpu] percpu: fix spurious alignment WARN in legacy SMP percpu allocator

From: Ingo Molnar <hidden>
Date: 2009-03-11 09:31:45

* Tejun Heo [off-list ref] wrote:
Impact: remove spurious WARN on legacy SMP percpu allocator

Commit f2a8205c4ef1af917d175c36a4097ae5587791c8 incorrectly added too
tight WARN_ON_ONCE() on alignments for UP and legacy SMP percpu
allocator.  Commit e317603694bfd17b28a40de9d65e1a4ec12f816e fixed it
for UP but legacy SMP allocator was forgotten.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Sachin P. Sant <redacted>
---
(RESEND: cc'ing Ingo. :-)

Oops, that was a stupid omission.  This patch should fix it.  Ingo,
please pull from the following git vector to receive the first first
four patches from the use-dynamic-percpu-allocator-by-default patchset
(without the actual conversion which can disrupt archs) + this patch.
I moved the actual conversion patch into #tj-percpu-exp branch, so the
pull should be safe.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git tj-percpu

Thanks.
Pulled into tip:core/percpu, thanks a lot Tejun!

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help