Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1457211 > unrolled thread

Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram

Started byChristophe Leroy <christophe.leroy@c-s.fr>
First post2016-08-05 19:00 +0200
Last post2016-08-08 20:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram Christophe Leroy <christophe.leroy@c-s.fr> - 2016-08-05 19:00 +0200
    RE: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram Qiang Zhao <qiang.zhao@nxp.com> - 2016-08-08 16:40 +0200
      Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram christophe leroy <christophe.leroy@c-s.fr> - 2016-08-08 20:00 +0200

#1457211 — Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram

FromChristophe Leroy <christophe.leroy@c-s.fr>
Date2016-08-05 19:00 +0200
SubjectRe: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram
Message-ID<s2QDv-1Ce-13@gated-at.bofh.it>

Le 30/11/2015 à 03:48, Zhao Qiang a écrit :
> Use genalloc to manage CPM/QE muram instead of rheap.
>
> Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com>
> ---
> Changes for v9:
> 	- splitted from patch 3/5, modify cpm muram management functions.
> Changes for v10:
> 	- modify cpm muram first, then move to qe_common
> 	- modify commit.
> Changes for v11:
> 	- factor out the common alloc code
> 	- modify min_alloc_order to zero for cpm_muram_alloc_fixed.
> Changes for v12:
> 	- Nil
> Changes for v13:
> 	- rebase
>
>  arch/powerpc/include/asm/cpm.h   |   3 +
>  arch/powerpc/platforms/Kconfig   |   4 +-
>  arch/powerpc/sysdev/cpm_common.c | 126 +++++++++++++++++++++++++++------------
>  lib/genalloc.c                   |   2 +-
>  4 files changed, 94 insertions(+), 41 deletions(-)
>

With that patch applied, I get the following Oops on a 8xx (Which has a 
CPM1).

cpm_muram_init() is called from setup_arch()

It seems that gen_pool_add() tries to kmalloc() memory but the SLAB is 
not available yet.

[    0.000000] Unable to handle kernel paging request for data at 
address 0x00000008
[    0.000000] Faulting instruction address: 0xc01acce0
[    0.000000] Oops: Kernel access of bad area, sig: 11 [#1]
[    0.000000] PREEMPT CMPC885
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 
4.4.14-s3k-dev-g0886ed8-svn #5
[    0.000000] task: c05183e0 ti: c0536000 task.ti: c0536000
[    0.000000] NIP: c01acce0 LR: c0011068 CTR: 00000000
[    0.000000] REGS: c0537e50 TRAP: 0300   Not tainted 
(4.4.14-s3k-dev-g0886ed8-svn)
[    0.000000] MSR: 00001032 <ME,IR,DR,RI>  CR: 28044428  XER: 00000000
[    0.000000] DAR: 00000008 DSISR: c0000000
GPR00: c0011068 c0537f00 c05183e0 00000000 00009000 ffffffff 00000bc0 
ffffffff
GPR08: ff003000 ff00b000 ff003bbf 00000000 22044422 100d43a8 00000000 
07ff94e8
GPR16: 00000000 07bb5d70 00000000 07ff81f4 07ff81f4 07ff81f4 00000000 
00000000
GPR24: 07ffb3a0 07fe7628 c0550000 c7ffa190 c0540000 ff003bbf 00000000 
00000001
[    0.000000] NIP [c01acce0] gen_pool_add_virt+0x14/0xdc
[    0.000000] LR [c0011068] cpm_muram_init+0xd4/0x18c
[    0.000000] Call Trace:
[    0.000000] [c0537f00] [00000200] 0x200 (unreliable)
[    0.000000] [c0537f20] [c0011068] cpm_muram_init+0xd4/0x18c
[    0.000000] [c0537f70] [c0494684] cpm_reset+0xb4/0xc8
[    0.000000] [c0537f90] [c0494c64] cmpc885_setup_arch+0x10/0x30
[    0.000000] [c0537fa0] [c0493cd4] setup_arch+0x130/0x168
[    0.000000] [c0537fb0] [c04906bc] start_kernel+0x88/0x380
[    0.000000] [c0537ff0] [c0002224] start_here+0x38/0x98
[    0.000000] Instruction dump:
[    0.000000] 91430010 91430014 80010014 83e1000c 7c0803a6 38210010 
4e800020 7c0802a6
[    0.000000] 9421ffe0 bf61000c 90010024 7c7e1b78 <80630008> 7c9c2378 
7cc31c30 3863001f
[    0.000000] ---[ end trace dc8fa200cb88537f ]---

[toc] | [next] | [standalone]


#1457840

FromQiang Zhao <qiang.zhao@nxp.com>
Date2016-08-08 16:40 +0200
Message-ID<s3TSF-2yD-19@gated-at.bofh.it>
In reply to#1457211

[Multipart message — attachments visible in raw view] — view raw

On 6/8/2016 03:48AM,  Christophe Leroy <christophe.leroy@c-s.fr> wrote :

> -----Original Message-----
> From: Christophe Leroy [mailto:christophe.leroy@c-s.fr]
> Sent: Saturday, August 06, 2016 12:59 AM
> To: Zhao Qiang <qiang.zhao@freescale.com>; lauraa@codeaurora.org
> Cc: catalin.marinas@arm.com; linux-kernel@vger.kernel.org; Scott Wood
> <oss@buserror.net>; olof@lixom.net; akpm@linux-foundation.org; linuxppc-
> dev@lists.ozlabs.org; X.xie@freescale.com
> Subject: Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram
> 
> 
> 
> Le 30/11/2015 à 03:48, Zhao Qiang a écrit :
> > Use genalloc to manage CPM/QE muram instead of rheap.
> >
> > Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com>
> > ---
> > Changes for v9:
> > 	- splitted from patch 3/5, modify cpm muram management functions.
> > Changes for v10:
> > 	- modify cpm muram first, then move to qe_common
> > 	- modify commit.
> > Changes for v11:
> > 	- factor out the common alloc code
> > 	- modify min_alloc_order to zero for cpm_muram_alloc_fixed.
> > Changes for v12:
> > 	- Nil
> > Changes for v13:
> > 	- rebase
> >
> >  arch/powerpc/include/asm/cpm.h   |   3 +
> >  arch/powerpc/platforms/Kconfig   |   4 +-
> >  arch/powerpc/sysdev/cpm_common.c | 126
> +++++++++++++++++++++++++++------------
> >  lib/genalloc.c                   |   2 +-
> >  4 files changed, 94 insertions(+), 41 deletions(-)
> >
> 
> With that patch applied, I get the following Oops on a 8xx (Which has a CPM1).
> 
> cpm_muram_init() is called from setup_arch()
> 
> It seems that gen_pool_add() tries to kmalloc() memory but the SLAB is not
> available yet.
> 

Thank you for your comments, I can't find a 8xx board, would you like to test the patch 
Attached on your board? 

> [    0.000000] Unable to handle kernel paging request for data at
> address 0x00000008
> [    0.000000] Faulting instruction address: 0xc01acce0
> [    0.000000] Oops: Kernel access of bad area, sig: 11 [#1]
> [    0.000000] PREEMPT CMPC885
> [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted
> 4.4.14-s3k-dev-g0886ed8-svn #5
> [    0.000000] task: c05183e0 ti: c0536000 task.ti: c0536000
> [    0.000000] NIP: c01acce0 LR: c0011068 CTR: 00000000
> [    0.000000] REGS: c0537e50 TRAP: 0300   Not tainted
> (4.4.14-s3k-dev-g0886ed8-svn)
> [    0.000000] MSR: 00001032 <ME,IR,DR,RI>  CR: 28044428  XER: 00000000
> [    0.000000] DAR: 00000008 DSISR: c0000000
> GPR00: c0011068 c0537f00 c05183e0 00000000 00009000 ffffffff 00000bc0 ffffffff
> GPR08: ff003000 ff00b000 ff003bbf 00000000 22044422 100d43a8 00000000
> 07ff94e8
> GPR16: 00000000 07bb5d70 00000000 07ff81f4 07ff81f4 07ff81f4 00000000
> 00000000
> GPR24: 07ffb3a0 07fe7628 c0550000 c7ffa190 c0540000 ff003bbf 00000000
> 00000001
> [    0.000000] NIP [c01acce0] gen_pool_add_virt+0x14/0xdc
> [    0.000000] LR [c0011068] cpm_muram_init+0xd4/0x18c
> [    0.000000] Call Trace:
> [    0.000000] [c0537f00] [00000200] 0x200 (unreliable)
> [    0.000000] [c0537f20] [c0011068] cpm_muram_init+0xd4/0x18c
> [    0.000000] [c0537f70] [c0494684] cpm_reset+0xb4/0xc8
> [    0.000000] [c0537f90] [c0494c64] cmpc885_setup_arch+0x10/0x30
> [    0.000000] [c0537fa0] [c0493cd4] setup_arch+0x130/0x168
> [    0.000000] [c0537fb0] [c04906bc] start_kernel+0x88/0x380
> [    0.000000] [c0537ff0] [c0002224] start_here+0x38/0x98
> [    0.000000] Instruction dump:
> [    0.000000] 91430010 91430014 80010014 83e1000c 7c0803a6 38210010
> 4e800020 7c0802a6
> [    0.000000] 9421ffe0 bf61000c 90010024 7c7e1b78 <80630008> 7c9c2378
> 7cc31c30 3863001f
> [    0.000000] ---[ end trace dc8fa200cb88537f ]---

[toc] | [prev] | [next] | [standalone]


#1457960

Fromchristophe leroy <christophe.leroy@c-s.fr>
Date2016-08-08 20:00 +0200
Message-ID<s3X0e-4wO-13@gated-at.bofh.it>
In reply to#1457840
Le 08/08/2016 à 05:00, Qiang Zhao a écrit :
> On 6/8/2016 03:48AM,  Christophe Leroy <christophe.leroy@c-s.fr> wrote :
>
>> -----Original Message-----
>> From: Christophe Leroy [mailto:christophe.leroy@c-s.fr]
>> Sent: Saturday, August 06, 2016 12:59 AM
>> To: Zhao Qiang <qiang.zhao@freescale.com>; lauraa@codeaurora.org
>> Cc: catalin.marinas@arm.com; linux-kernel@vger.kernel.org; Scott Wood
>> <oss@buserror.net>; olof@lixom.net; akpm@linux-foundation.org; linuxppc-
>> dev@lists.ozlabs.org; X.xie@freescale.com
>> Subject: Re: [PATCH v13 3/6] CPM/QE: use genalloc to manage CPM/QE muram
>>
>>
>>
>> Le 30/11/2015 à 03:48, Zhao Qiang a écrit :
>>> Use genalloc to manage CPM/QE muram instead of rheap.
>>>
>>> Signed-off-by: Zhao Qiang <qiang.zhao@freescale.com>
>>> ---
>>> Changes for v9:
>>> 	- splitted from patch 3/5, modify cpm muram management functions.
>>> Changes for v10:
>>> 	- modify cpm muram first, then move to qe_common
>>> 	- modify commit.
>>> Changes for v11:
>>> 	- factor out the common alloc code
>>> 	- modify min_alloc_order to zero for cpm_muram_alloc_fixed.
>>> Changes for v12:
>>> 	- Nil
>>> Changes for v13:
>>> 	- rebase
>>>
>>>  arch/powerpc/include/asm/cpm.h   |   3 +
>>>  arch/powerpc/platforms/Kconfig   |   4 +-
>>>  arch/powerpc/sysdev/cpm_common.c | 126
>> +++++++++++++++++++++++++++------------
>>>  lib/genalloc.c                   |   2 +-
>>>  4 files changed, 94 insertions(+), 41 deletions(-)
>>>
>>
>> With that patch applied, I get the following Oops on a 8xx (Which has a CPM1).
>>
>> cpm_muram_init() is called from setup_arch()
>>
>> It seems that gen_pool_add() tries to kmalloc() memory but the SLAB is not
>> available yet.
>>
>
> Thank you for your comments, I can't find a 8xx board, would you like to test the patch
> Attached on your board?

Thanks for your support (indeed I only received your mail a few minutes, 
that is after I proposed another patch).

Your patch will not work, because initcalls are called too late. The 8xx 
needs the SMCs from the CPM for console, that is long before initcalls 
are called.

I sent a proposed patch approximatly 2 hours ago, it is called "[PATCH] 
soc: fsl/qe: fix Oops on CPM1 (and likely CPM2)"
That one works. Could you have a look ?

Christophe

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web