All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 16:54 ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 16:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux kernel, linux-arm-kernel

Hello, the patch below is needed for a successful boot on armada-xp.


-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
This fixes the following crash at boot:

 Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
 Internal error: : 808 [#1] SMP ARM

 CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
 Hardware name: Marvell Armada 370/XP (Device Tree)
 task: ed41e800 ti: ed43e000 task.ti: ed43e000
 PC is at _set_bit+0x28/0x50
 LR is at n_tty_set_termios+0x328/0x358
 pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
 sp : ed43fd00  ip : 00000000  fp : 00000000
 r10: 00000002  r9 : 00000000  r8 : ec930200
 r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
 r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
 Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
 Control: 10c5387d  Table: 0000406a  DAC: 00000015
 Process swapper/0 (pid: 1, stack limit = 0xed43e220)

The offending instruction in _set_bit() is "strex r0, r2, [r1]"
For some reason the exclusive access instructions do not like the
vmalloc() space... While there may be another fix to make them
fine about vmalloc() space, it still looks like a good idea to
use kmalloc() for allocating a small (sub-page) struct.

Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
---
 drivers/tty/n_tty.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
index cf6e0f2..e03622e 100644
--- a/drivers/tty/n_tty.c
+++ b/drivers/tty/n_tty.c
@@ -50,7 +50,6 @@
 #include <linux/uaccess.h>
 #include <linux/module.h>
 #include <linux/ratelimit.h>
-#include <linux/vmalloc.h>
 
 
 /* number of characters left in xmit buffer before select has we have
room */
@@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
     if (tty->link)
         n_tty_packet_mode_flush(tty);
 
-    vfree(ldata);
+    kfree(ldata);
     tty->disc_data = NULL;
 }
 
@@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
     struct n_tty_data *ldata;
 
     /* Currently a malloc failure here can panic */
-    ldata = vmalloc(sizeof(*ldata));
+    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
     if (!ldata)
         goto err;
 
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 16:54 ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 16:54 UTC (permalink / raw)
  To: linux-arm-kernel

Hello, the patch below is needed for a successful boot on armada-xp.


-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
This fixes the following crash at boot:

 Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
 Internal error: : 808 [#1] SMP ARM

 CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
 Hardware name: Marvell Armada 370/XP (Device Tree)
 task: ed41e800 ti: ed43e000 task.ti: ed43e000
 PC is at _set_bit+0x28/0x50
 LR is at n_tty_set_termios+0x328/0x358
 pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
 sp : ed43fd00  ip : 00000000  fp : 00000000
 r10: 00000002  r9 : 00000000  r8 : ec930200
 r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
 r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
 Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
 Control: 10c5387d  Table: 0000406a  DAC: 00000015
 Process swapper/0 (pid: 1, stack limit = 0xed43e220)

The offending instruction in _set_bit() is "strex r0, r2, [r1]"
For some reason the exclusive access instructions do not like the
vmalloc() space... While there may be another fix to make them
fine about vmalloc() space, it still looks like a good idea to
use kmalloc() for allocating a small (sub-page) struct.

Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
---
 drivers/tty/n_tty.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
index cf6e0f2..e03622e 100644
--- a/drivers/tty/n_tty.c
+++ b/drivers/tty/n_tty.c
@@ -50,7 +50,6 @@
 #include <linux/uaccess.h>
 #include <linux/module.h>
 #include <linux/ratelimit.h>
-#include <linux/vmalloc.h>
 
 
 /* number of characters left in xmit buffer before select has we have
room */
@@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
     if (tty->link)
         n_tty_packet_mode_flush(tty);
 
-    vfree(ldata);
+    kfree(ldata);
     tty->disc_data = NULL;
 }
 
@@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
     struct n_tty_data *ldata;
 
     /* Currently a malloc failure here can panic */
-    ldata = vmalloc(sizeof(*ldata));
+    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
     if (!ldata)
         goto err;
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 16:54 ` Stas Sergeev
@ 2015-03-10 17:17   ` Catalin Marinas
  -1 siblings, 0 replies; 88+ messages in thread
From: Catalin Marinas @ 2015-03-10 17:17 UTC (permalink / raw)
  To: Stas Sergeev; +Cc: Andrew Morton, Linux kernel, linux-arm-kernel

On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM

I think you have some other problems. That's an external abort, which
means that the original vmalloc'ed memory was not mapping RAM but some
empty physical address space.

That's unless strex hits device memory and not having an exclusive
monitor causes such external abort. But vmalloc() memory is Normal
Cacheable. Some pointer could go wrong and it hits ioremap'ed memory
which is in the same range as vmalloc'ed memory.

-- 
Catalin

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:17   ` Catalin Marinas
  0 siblings, 0 replies; 88+ messages in thread
From: Catalin Marinas @ 2015-03-10 17:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM

I think you have some other problems. That's an external abort, which
means that the original vmalloc'ed memory was not mapping RAM but some
empty physical address space.

That's unless strex hits device memory and not having an exclusive
monitor causes such external abort. But vmalloc() memory is Normal
Cacheable. Some pointer could go wrong and it hits ioremap'ed memory
which is in the same range as vmalloc'ed memory.

-- 
Catalin

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:17   ` Catalin Marinas
@ 2015-03-10 17:27     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 17:27 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: Andrew Morton, Linux kernel, linux-arm-kernel

10.03.2015 20:17, Catalin Marinas пишет:
> On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>> This fixes the following crash at boot:
>>
>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>  Internal error: : 808 [#1] SMP ARM
> I think you have some other problems.
Likely, but IMHO the patch is still fine, there should be kmalloc() anyway.
I'd like to find the roots of the problem, but I think the patch can
be applied regardless.

>  That's an external abort, which
> means that the original vmalloc'ed memory was not mapping RAM but some
> empty physical address space.
>
> That's unless strex hits device memory and not having an exclusive
> monitor causes such external abort. But vmalloc() memory is Normal
> Cacheable. Some pointer could go wrong and it hits ioremap'ed memory
> which is in the same range as vmalloc'ed memory.
But strex is preceded by ldrex, which succeeds.
I am not arm guru at all, but if we hit empty space or ioremap
memory, shouldn't the ldrex also abort? It doesn't.

Any hints how can I make a better diagnostic?

Please also find the same crash here:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
---

Console logs for failures
=========================

arm-mvebu_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
----------------------------------------------

	armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log:
	------------------------------------------------------------

3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 55048012 02109471
[<c0186b78>] (_set_bit) from [<c01c9ba8>] (n_tty_set_termios+0x234/0x348)
[<c01c9ba8>] (n_tty_set_termios) from [<c01c9da8>] (n_tty_open+0xec/0x114)
---


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:27     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 17:27 UTC (permalink / raw)
  To: linux-arm-kernel

10.03.2015 20:17, Catalin Marinas ?????:
> On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>> This fixes the following crash at boot:
>>
>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>  Internal error: : 808 [#1] SMP ARM
> I think you have some other problems.
Likely, but IMHO the patch is still fine, there should be kmalloc() anyway.
I'd like to find the roots of the problem, but I think the patch can
be applied regardless.

>  That's an external abort, which
> means that the original vmalloc'ed memory was not mapping RAM but some
> empty physical address space.
>
> That's unless strex hits device memory and not having an exclusive
> monitor causes such external abort. But vmalloc() memory is Normal
> Cacheable. Some pointer could go wrong and it hits ioremap'ed memory
> which is in the same range as vmalloc'ed memory.
But strex is preceded by ldrex, which succeeds.
I am not arm guru at all, but if we hit empty space or ioremap
memory, shouldn't the ldrex also abort? It doesn't.

Any hints how can I make a better diagnostic?

Please also find the same crash here:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
---

Console logs for failures
=========================

arm-mvebu_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
----------------------------------------------

	armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log:
	------------------------------------------------------------

3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 55048012 02109471
[<c0186b78>] (_set_bit) from [<c01c9ba8>] (n_tty_set_termios+0x234/0x348)
[<c01c9ba8>] (n_tty_set_termios) from [<c01c9da8>] (n_tty_open+0xec/0x114)
---

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 16:54 ` Stas Sergeev
@ 2015-03-10 17:29   ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 17:29 UTC (permalink / raw)
  To: Stas Sergeev; +Cc: Andrew Morton, Linux kernel, linux-arm-kernel

On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000

Oh ffs, stop trimming down the dumps.  Knowing what the page table entries
were would have been useful to see whether this is an appropriate fix.

We dump information from the kernel for a reason.  That reason is not so
people can cut random bits that they don't think is relevant from it.

NAK until we see the full dump.

Thanks.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:29   ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 17:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000

Oh ffs, stop trimming down the dumps.  Knowing what the page table entries
were would have been useful to see whether this is an appropriate fix.

We dump information from the kernel for a reason.  That reason is not so
people can cut random bits that they don't think is relevant from it.

NAK until we see the full dump.

Thanks.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 16:54 ` Stas Sergeev
@ 2015-03-10 17:35   ` Peter Hurley
  -1 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-10 17:35 UTC (permalink / raw)
  To: Stas Sergeev, Andrew Morton; +Cc: Linux kernel, linux-arm-kernel

On 03/10/2015 12:54 PM, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.

NAK.

struct n_tty_data is order 2, not sub-page.

The abort means something else is wrong; that's what needs
tracking down and fixing.

AFAIK this is not happening on any other ARM platform.

Regards,
Peter Hurley

> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> index cf6e0f2..e03622e 100644
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -50,7 +50,6 @@
>  #include <linux/uaccess.h>
>  #include <linux/module.h>
>  #include <linux/ratelimit.h>
> -#include <linux/vmalloc.h>
>  
>  
>  /* number of characters left in xmit buffer before select has we have
> room */
> @@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
>      if (tty->link)
>          n_tty_packet_mode_flush(tty);
>  
> -    vfree(ldata);
> +    kfree(ldata);
>      tty->disc_data = NULL;
>  }
>  
> @@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
>      struct n_tty_data *ldata;
>  
>      /* Currently a malloc failure here can panic */
> -    ldata = vmalloc(sizeof(*ldata));
> +    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
>      if (!ldata)
>          goto err;
>  
> 


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:35   ` Peter Hurley
  0 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-10 17:35 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/10/2015 12:54 PM, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.

NAK.

struct n_tty_data is order 2, not sub-page.

The abort means something else is wrong; that's what needs
tracking down and fixing.

AFAIK this is not happening on any other ARM platform.

Regards,
Peter Hurley

> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> index cf6e0f2..e03622e 100644
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -50,7 +50,6 @@
>  #include <linux/uaccess.h>
>  #include <linux/module.h>
>  #include <linux/ratelimit.h>
> -#include <linux/vmalloc.h>
>  
>  
>  /* number of characters left in xmit buffer before select has we have
> room */
> @@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
>      if (tty->link)
>          n_tty_packet_mode_flush(tty);
>  
> -    vfree(ldata);
> +    kfree(ldata);
>      tty->disc_data = NULL;
>  }
>  
> @@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
>      struct n_tty_data *ldata;
>  
>      /* Currently a malloc failure here can panic */
> -    ldata = vmalloc(sizeof(*ldata));
> +    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
>      if (!ldata)
>          goto err;
>  
> 

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:27     ` Stas Sergeev
@ 2015-03-10 17:38       ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 17:38 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Catalin Marinas, Andrew Morton, Linux kernel, linux-arm-kernel

On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
> Please also find the same crash here:
> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html

Hmm, looks like from the exynos5420-arndale-octa failure in that, we
don't dump the page table entries.  We should do.  Sorry about my
previous mail.

If you can reproduce this, please do so with this patch so that we
can get the page table entries associated with the problem.  Thanks.

 arch/arm/mm/fault.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index a982dc3190df..6333d9c17875 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 
 	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
 		inf->name, fsr, addr);
+	show_pte(current->mm, addr);
 
 	info.si_signo = inf->sig;
 	info.si_errno = 0;


-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply related	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:38       ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 17:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
> Please also find the same crash here:
> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html

Hmm, looks like from the exynos5420-arndale-octa failure in that, we
don't dump the page table entries.  We should do.  Sorry about my
previous mail.

If you can reproduce this, please do so with this patch so that we
can get the page table entries associated with the problem.  Thanks.

 arch/arm/mm/fault.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index a982dc3190df..6333d9c17875 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 
 	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
 		inf->name, fsr, addr);
+	show_pte(current->mm, addr);
 
 	info.si_signo = inf->sig;
 	info.si_errno = 0;


-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply related	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:35   ` Peter Hurley
@ 2015-03-10 17:51     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 17:51 UTC (permalink / raw)
  To: Peter Hurley, Andrew Morton; +Cc: Linux kernel, linux-arm-kernel

10.03.2015 20:35, Peter Hurley пишет:
> On 03/10/2015 12:54 PM, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
>>
>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>> This fixes the following crash at boot:
>>
>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>  Internal error: : 808 [#1] SMP ARM
>>
>>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>>  Hardware name: Marvell Armada 370/XP (Device Tree)
>>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>>  PC is at _set_bit+0x28/0x50
>>  LR is at n_tty_set_termios+0x328/0x358
>>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>>  sp : ed43fd00  ip : 00000000  fp : 00000000
>>  r10: 00000002  r9 : 00000000  r8 : ec930200
>>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
>>
>> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
>> For some reason the exclusive access instructions do not like the
>> vmalloc() space... While there may be another fix to make them
>> fine about vmalloc() space, it still looks like a good idea to
>> use kmalloc() for allocating a small (sub-page) struct.
> NAK.
>
> struct n_tty_data is order 2, not sub-page.
OK, you are right, sorry. 8844 bytes.
Is this really a target for vmalloc() though? I thought kmalloc()
is preferable even for that size.

> The abort means something else is wrong; that's what needs
> tracking down and fixing.
Yeah, I even mentioned that in a commit log.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 17:51     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 17:51 UTC (permalink / raw)
  To: linux-arm-kernel

10.03.2015 20:35, Peter Hurley ?????:
> On 03/10/2015 12:54 PM, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
>>
>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>> This fixes the following crash at boot:
>>
>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>  Internal error: : 808 [#1] SMP ARM
>>
>>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>>  Hardware name: Marvell Armada 370/XP (Device Tree)
>>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>>  PC is at _set_bit+0x28/0x50
>>  LR is at n_tty_set_termios+0x328/0x358
>>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>>  sp : ed43fd00  ip : 00000000  fp : 00000000
>>  r10: 00000002  r9 : 00000000  r8 : ec930200
>>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
>>
>> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
>> For some reason the exclusive access instructions do not like the
>> vmalloc() space... While there may be another fix to make them
>> fine about vmalloc() space, it still looks like a good idea to
>> use kmalloc() for allocating a small (sub-page) struct.
> NAK.
>
> struct n_tty_data is order 2, not sub-page.
OK, you are right, sorry. 8844 bytes.
Is this really a target for vmalloc() though? I thought kmalloc()
is preferable even for that size.

> The abort means something else is wrong; that's what needs
> tracking down and fixing.
Yeah, I even mentioned that in a commit log.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:38       ` Russell King - ARM Linux
@ 2015-03-10 18:31         ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 18:31 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Catalin Marinas, Andrew Morton, Linux kernel, linux-arm-kernel

10.03.2015 20:38, Russell King - ARM Linux пишет:
> On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
>> Please also find the same crash here:
>> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
> Hmm, looks like from the exynos5420-arndale-octa failure in that, we
> don't dump the page table entries.  We should do.  Sorry about my
> previous mail.
>
> If you can reproduce this, please do so with this patch so that we
> can get the page table entries associated with the problem.  Thanks.
>
>  arch/arm/mm/fault.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
> index a982dc3190df..6333d9c17875 100644
> --- a/arch/arm/mm/fault.c
> +++ b/arch/arm/mm/fault.c
> @@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
>  
>  	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
>  		inf->name, fsr, addr);
> +	show_pte(current->mm, addr);
>  
>  	info.si_signo = inf->sig;
>  	info.si_errno = 0;
>
>
[    5.383283] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    5.390871] pgd = c0004000
[    5.393583] [f00d3018] *pgd=2d404811, *pte=efc1e65f, *ppte=efc1e45f
[    5.399901] Internal error: : 808 [#1] SMP ARM
[    5.404354] Modules linked in:
[    5.407427] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #59
[    5.415536] Hardware name: Marvell Armada 370/XP (Device Tree)
[    5.421383] task: ed41e800 ti: ed43e000 task.ti: ed43e000
[    5.426798] PC is at _set_bit+0x28/0x50
[    5.430643] LR is at n_tty_set_termios+0x328/0x358
[    5.435446] pc : [<c01bc8f8>]    lr : [<c0207374>]    psr: 40000113
[    5.435446] sp : ed43fd00  ip : 00000000  fp : 00000000
[    5.446950] r10: 00000002  r9 : 00000000  r8 : ec975c00
[    5.452186] r7 : 00000000  r6 : f00d3018  r5 : f00d3000  r4 : ecd86200
[    5.458728] r3 : 00002000  r2 : 00002000  r1 : f00d3018  r0 : 00000000
[    5.465271] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM 
Segment kernel
[    5.472597] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    5.478355] Process swapper/0 (pid: 1, stack limit = 0xed43e220)
[    5.484376] Stack: (0xed43fd00 to 0xed440000)
[    5.488745] fd00: f00d3000 00000000 ecd86200 f00d5240 ec975c00
c0207448 c02073a4 ecd86200
[    5.496943] fd20: ecd8635c ec990dc0 00000000 c020b37c ecd86200
ec990dc0 ecd86200 c020bb40
[    5.505142] fd40: ed6dd400 ecd86200 00000000 ec975c00 00000000
c0205a28 ed022000 00000002
[    5.513341] fd60: 00000449 ecc89100 00000001 00500001 ed024590
c0205ff8 c00b81e4 ec975c00
[    5.521540] fd80: ed409c00 00000000 c06f0678 c04ee370 ed024590
ecc89100 c06f37cc 00000000
[    5.529739] fda0: ed022000 c06f37cc 00000000 c00b89dc ed43fe7c
00000000 ed43fe38 ecc89100
[    5.537938] fdc0: ed024590 ecc89108 c00b891c ed43fe7c 00000000
c00b2f40 00000000 ed43fec0
[    5.546137] fde0: ed43ff44 00000002 00000000 ed43fe7c 00000000
c00c0d88 ed679019 00766564
[    5.554336] fe00: 00000003 c00bea44 00000000 ecc89100 00000026
00000000 00000000 00000002
[    5.562535] fe20: 00000000 c004fa98 00000000 ed403f50 00000000
00000000 ed024590 ed0246d0
[    5.570734] fe40: 00000041 ecc89100 ed43fec0 ed43ff44 ed43fe7c
00000000 00000041 00000000
[    5.578932] fe60: 00000000 c00c1850 ed43fe8c 00000000 00000000
00000000 817b7a1a ed403f50
[    5.587131] fe80: ed022110 0000001a 00000013 00000000 00000007
ed43ff44 00000001 ed679000
[    5.595330] fea0: ffffff9c c0655588 c068f470 000000ab 00000000
c00c2780 00000041 00000000
[    5.603529] fec0: ed403f50 ed022110 0f4756ea 00000007 ed679019
00000000 00000000 ed0027f8
[    5.611727] fee0: ed024590 00000101 00000004 0000001e 00000000
00000000 00000000 00000002
[    5.619925] ff00: ed679000 00000fec 00000fec 00000001 00000002
00000002 ed679000 ffffff9c
[    5.628124] ff20: c06d0740 00000000 ed679000 ffffff9c c06d0740
c00b4050 00000000 00000000
[    5.636322] ff40: c05a7630 00000002 00000000 00000026 00000100
00000001 000000ab c06868a4
[    5.644521] ff60: 00000007 c0686884 c06d0740 c0655588 000000ab
c0655d68 00000007 00000007
[    5.652720] ff80: c0655588 beefdead 00000000 c04c6850 00000000
00000000 00000000 00000000
[    5.660918] ffa0: 00000000 c04c6858 00000000 c000e540 00000000
00000000 00000000 00000000
[    5.669117] ffc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[    5.677315] ffe0: 00000000 00000000 00000000 00000000 00000013
00000000 beefdead beefdead
[    5.685519] [<c01bc8f8>] (_set_bit) from [<c0207374>]
(n_tty_set_termios+0x328/0x358)
[    5.693371] [<c0207374>] (n_tty_set_termios) from [<c0207448>]
(n_tty_open+0xa4/0xcc)
[    5.701223] [<c0207448>] (n_tty_open) from [<c020b37c>]
(tty_ldisc_open+0x40/0x78)
[    5.708812] [<c020b37c>] (tty_ldisc_open) from [<c020bb40>]
(tty_ldisc_setup+0x18/0x58)
[    5.716838] [<c020bb40>] (tty_ldisc_setup) from [<c0205a28>]
(tty_init_dev+0x8c/0x17c)
[    5.724775] [<c0205a28>] (tty_init_dev) from [<c0205ff8>]
(tty_open+0x4e0/0x5f4)
[    5.732191] [<c0205ff8>] (tty_open) from [<c00b89dc>]
(chrdev_open+0xc0/0x17c)
[    5.739436] [<c00b89dc>] (chrdev_open) from [<c00b2f40>]
(do_dentry_open.isra.12+0xec/0x30c)
[    5.747899] [<c00b2f40>] (do_dentry_open.isra.12) from [<c00c0d88>]
(do_last.isra.37+0x128/0xb70)
[    5.756796] [<c00c0d88>] (do_last.isra.37) from [<c00c1850>]
(path_openat+0x80/0x578)
[    5.764647] [<c00c1850>] (path_openat) from [<c00c2780>]
(do_filp_open+0x2c/0x80)
[    5.772152] [<c00c2780>] (do_filp_open) from [<c00b4050>]
(do_sys_open+0x124/0x1d0)
[    5.779833] [<c00b4050>] (do_sys_open) from [<c0655d68>]
(kernel_init_freeable+0x134/0x1d4)
[    5.788209] [<c0655d68>] (kernel_init_freeable) from [<c04c6858>]
(kernel_init+0x8/0xe4)
[    5.796325] [<c04c6858>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    5.803915] Code: f591f000 e1a03312 e1912f9f e1822003 (e1810f92)
[    5.810023] ---[ end trace c74d97aefdd5e727 ]---
[    5.814696] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 18:31         ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-10 18:31 UTC (permalink / raw)
  To: linux-arm-kernel

10.03.2015 20:38, Russell King - ARM Linux ?????:
> On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
>> Please also find the same crash here:
>> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
> Hmm, looks like from the exynos5420-arndale-octa failure in that, we
> don't dump the page table entries.  We should do.  Sorry about my
> previous mail.
>
> If you can reproduce this, please do so with this patch so that we
> can get the page table entries associated with the problem.  Thanks.
>
>  arch/arm/mm/fault.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
> index a982dc3190df..6333d9c17875 100644
> --- a/arch/arm/mm/fault.c
> +++ b/arch/arm/mm/fault.c
> @@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
>  
>  	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
>  		inf->name, fsr, addr);
> +	show_pte(current->mm, addr);
>  
>  	info.si_signo = inf->sig;
>  	info.si_errno = 0;
>
>
[    5.383283] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    5.390871] pgd = c0004000
[    5.393583] [f00d3018] *pgd=2d404811, *pte=efc1e65f, *ppte=efc1e45f
[    5.399901] Internal error: : 808 [#1] SMP ARM
[    5.404354] Modules linked in:
[    5.407427] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #59
[    5.415536] Hardware name: Marvell Armada 370/XP (Device Tree)
[    5.421383] task: ed41e800 ti: ed43e000 task.ti: ed43e000
[    5.426798] PC is at _set_bit+0x28/0x50
[    5.430643] LR is at n_tty_set_termios+0x328/0x358
[    5.435446] pc : [<c01bc8f8>]    lr : [<c0207374>]    psr: 40000113
[    5.435446] sp : ed43fd00  ip : 00000000  fp : 00000000
[    5.446950] r10: 00000002  r9 : 00000000  r8 : ec975c00
[    5.452186] r7 : 00000000  r6 : f00d3018  r5 : f00d3000  r4 : ecd86200
[    5.458728] r3 : 00002000  r2 : 00002000  r1 : f00d3018  r0 : 00000000
[    5.465271] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM 
Segment kernel
[    5.472597] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    5.478355] Process swapper/0 (pid: 1, stack limit = 0xed43e220)
[    5.484376] Stack: (0xed43fd00 to 0xed440000)
[    5.488745] fd00: f00d3000 00000000 ecd86200 f00d5240 ec975c00
c0207448 c02073a4 ecd86200
[    5.496943] fd20: ecd8635c ec990dc0 00000000 c020b37c ecd86200
ec990dc0 ecd86200 c020bb40
[    5.505142] fd40: ed6dd400 ecd86200 00000000 ec975c00 00000000
c0205a28 ed022000 00000002
[    5.513341] fd60: 00000449 ecc89100 00000001 00500001 ed024590
c0205ff8 c00b81e4 ec975c00
[    5.521540] fd80: ed409c00 00000000 c06f0678 c04ee370 ed024590
ecc89100 c06f37cc 00000000
[    5.529739] fda0: ed022000 c06f37cc 00000000 c00b89dc ed43fe7c
00000000 ed43fe38 ecc89100
[    5.537938] fdc0: ed024590 ecc89108 c00b891c ed43fe7c 00000000
c00b2f40 00000000 ed43fec0
[    5.546137] fde0: ed43ff44 00000002 00000000 ed43fe7c 00000000
c00c0d88 ed679019 00766564
[    5.554336] fe00: 00000003 c00bea44 00000000 ecc89100 00000026
00000000 00000000 00000002
[    5.562535] fe20: 00000000 c004fa98 00000000 ed403f50 00000000
00000000 ed024590 ed0246d0
[    5.570734] fe40: 00000041 ecc89100 ed43fec0 ed43ff44 ed43fe7c
00000000 00000041 00000000
[    5.578932] fe60: 00000000 c00c1850 ed43fe8c 00000000 00000000
00000000 817b7a1a ed403f50
[    5.587131] fe80: ed022110 0000001a 00000013 00000000 00000007
ed43ff44 00000001 ed679000
[    5.595330] fea0: ffffff9c c0655588 c068f470 000000ab 00000000
c00c2780 00000041 00000000
[    5.603529] fec0: ed403f50 ed022110 0f4756ea 00000007 ed679019
00000000 00000000 ed0027f8
[    5.611727] fee0: ed024590 00000101 00000004 0000001e 00000000
00000000 00000000 00000002
[    5.619925] ff00: ed679000 00000fec 00000fec 00000001 00000002
00000002 ed679000 ffffff9c
[    5.628124] ff20: c06d0740 00000000 ed679000 ffffff9c c06d0740
c00b4050 00000000 00000000
[    5.636322] ff40: c05a7630 00000002 00000000 00000026 00000100
00000001 000000ab c06868a4
[    5.644521] ff60: 00000007 c0686884 c06d0740 c0655588 000000ab
c0655d68 00000007 00000007
[    5.652720] ff80: c0655588 beefdead 00000000 c04c6850 00000000
00000000 00000000 00000000
[    5.660918] ffa0: 00000000 c04c6858 00000000 c000e540 00000000
00000000 00000000 00000000
[    5.669117] ffc0: 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000
[    5.677315] ffe0: 00000000 00000000 00000000 00000000 00000013
00000000 beefdead beefdead
[    5.685519] [<c01bc8f8>] (_set_bit) from [<c0207374>]
(n_tty_set_termios+0x328/0x358)
[    5.693371] [<c0207374>] (n_tty_set_termios) from [<c0207448>]
(n_tty_open+0xa4/0xcc)
[    5.701223] [<c0207448>] (n_tty_open) from [<c020b37c>]
(tty_ldisc_open+0x40/0x78)
[    5.708812] [<c020b37c>] (tty_ldisc_open) from [<c020bb40>]
(tty_ldisc_setup+0x18/0x58)
[    5.716838] [<c020bb40>] (tty_ldisc_setup) from [<c0205a28>]
(tty_init_dev+0x8c/0x17c)
[    5.724775] [<c0205a28>] (tty_init_dev) from [<c0205ff8>]
(tty_open+0x4e0/0x5f4)
[    5.732191] [<c0205ff8>] (tty_open) from [<c00b89dc>]
(chrdev_open+0xc0/0x17c)
[    5.739436] [<c00b89dc>] (chrdev_open) from [<c00b2f40>]
(do_dentry_open.isra.12+0xec/0x30c)
[    5.747899] [<c00b2f40>] (do_dentry_open.isra.12) from [<c00c0d88>]
(do_last.isra.37+0x128/0xb70)
[    5.756796] [<c00c0d88>] (do_last.isra.37) from [<c00c1850>]
(path_openat+0x80/0x578)
[    5.764647] [<c00c1850>] (path_openat) from [<c00c2780>]
(do_filp_open+0x2c/0x80)
[    5.772152] [<c00c2780>] (do_filp_open) from [<c00b4050>]
(do_sys_open+0x124/0x1d0)
[    5.779833] [<c00b4050>] (do_sys_open) from [<c0655d68>]
(kernel_init_freeable+0x134/0x1d4)
[    5.788209] [<c0655d68>] (kernel_init_freeable) from [<c04c6858>]
(kernel_init+0x8/0xe4)
[    5.796325] [<c04c6858>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    5.803915] Code: f591f000 e1a03312 e1912f9f e1822003 (e1810f92)
[    5.810023] ---[ end trace c74d97aefdd5e727 ]---
[    5.814696] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:51     ` Stas Sergeev
@ 2015-03-10 18:45       ` Peter Hurley
  -1 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-10 18:45 UTC (permalink / raw)
  To: Stas Sergeev, Andrew Morton; +Cc: Linux kernel, linux-arm-kernel

On 03/10/2015 01:51 PM, Stas Sergeev wrote:
> 10.03.2015 20:35, Peter Hurley пишет:
>> On 03/10/2015 12:54 PM, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>>>
>>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>>> This fixes the following crash at boot:
>>>
>>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>>  Internal error: : 808 [#1] SMP ARM
>>>
>>>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>>>  Hardware name: Marvell Armada 370/XP (Device Tree)
>>>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>>>  PC is at _set_bit+0x28/0x50
>>>  LR is at n_tty_set_termios+0x328/0x358
>>>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>>>  sp : ed43fd00  ip : 00000000  fp : 00000000
>>>  r10: 00000002  r9 : 00000000  r8 : ec930200
>>>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>>>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>>>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>>>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>>>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
>>>
>>> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
>>> For some reason the exclusive access instructions do not like the
>>> vmalloc() space... While there may be another fix to make them
>>> fine about vmalloc() space, it still looks like a good idea to
>>> use kmalloc() for allocating a small (sub-page) struct.
>> NAK.
>>
>> struct n_tty_data is order 2, not sub-page.
> OK, you are right, sorry. 8844 bytes.
> Is this really a target for vmalloc() though? I thought kmalloc()
> is preferable even for that size.

It doubles as a selftest for arch page table setup :)

I considered only using vmalloc() as a fallback, but problems
like this make me *less* interested in doing that. At least this
way the problem is unambiguous.

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 18:45       ` Peter Hurley
  0 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-10 18:45 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/10/2015 01:51 PM, Stas Sergeev wrote:
> 10.03.2015 20:35, Peter Hurley ?????:
>> On 03/10/2015 12:54 PM, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>>>
>>> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
>>> This fixes the following crash at boot:
>>>
>>>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>>>  Internal error: : 808 [#1] SMP ARM
>>>
>>>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>>>  Hardware name: Marvell Armada 370/XP (Device Tree)
>>>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>>>  PC is at _set_bit+0x28/0x50
>>>  LR is at n_tty_set_termios+0x328/0x358
>>>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>>>  sp : ed43fd00  ip : 00000000  fp : 00000000
>>>  r10: 00000002  r9 : 00000000  r8 : ec930200
>>>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>>>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>>>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>>>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>>>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
>>>
>>> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
>>> For some reason the exclusive access instructions do not like the
>>> vmalloc() space... While there may be another fix to make them
>>> fine about vmalloc() space, it still looks like a good idea to
>>> use kmalloc() for allocating a small (sub-page) struct.
>> NAK.
>>
>> struct n_tty_data is order 2, not sub-page.
> OK, you are right, sorry. 8844 bytes.
> Is this really a target for vmalloc() though? I thought kmalloc()
> is preferable even for that size.

It doubles as a selftest for arch page table setup :)

I considered only using vmalloc() as a fallback, but problems
like this make me *less* interested in doing that. At least this
way the problem is unambiguous.

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 18:31         ` Stas Sergeev
@ 2015-03-10 18:54           ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 18:54 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Catalin Marinas, Andrew Morton, Linux kernel, linux-arm-kernel

On Tue, Mar 10, 2015 at 09:31:01PM +0300, Stas Sergeev wrote:
> 10.03.2015 20:38, Russell King - ARM Linux пишет:
> > On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
> >> Please also find the same crash here:
> >> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
> > Hmm, looks like from the exynos5420-arndale-octa failure in that, we
> > don't dump the page table entries.  We should do.  Sorry about my
> > previous mail.
> >
> > If you can reproduce this, please do so with this patch so that we
> > can get the page table entries associated with the problem.  Thanks.
> >
> >  arch/arm/mm/fault.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
> > index a982dc3190df..6333d9c17875 100644
> > --- a/arch/arm/mm/fault.c
> > +++ b/arch/arm/mm/fault.c
> > @@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
> >  
> >  	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
> >  		inf->name, fsr, addr);
> > +	show_pte(current->mm, addr);
> >  
> >  	info.si_signo = inf->sig;
> >  	info.si_errno = 0;
> >
> >

Thanks.

> [    5.383283] Unhandled fault: external abort on non-linefetch (0x808)
> at 0xf00d3018
> [    5.390871] pgd = c0004000
> [    5.393583] [f00d3018] *pgd=2d404811, *pte=efc1e65f, *ppte=efc1e45f

This is interesting.

So, the L1 page table entry is:
	PMD_TYPE_TABLE
	PMD_BIT4
	PMD_DOMAIN(0)
	Pointing at physical address 0x2f404800

L2 page table entry:
	PTE_EXT_XN
	PTE_BUFFERABLE
	PTE_CACHEABLE
	PTE_EXT_AP_UNO_SRW
	PTE_EXT_TEX(1)
	PTE_EXT_SHARED
	Physical address 0xefc1e000

That corresponds with L_PTE_MT_WRITEALLOC, so that's a memory type mapping
with cacheable, write-back, write-allocate attributes.

The thing which has me wondering though is the difference in physical
addresses - that looks /very/ wrong - unless you have close to 4GB of
memory.

Let's see whether we can get some debug from vmalloc to work out what's
going on - can you also apply the patch below.

Also, if you could include details about how much memory your platform
has, and where it's located, that would be useful - passing memblock=debug
should allow us to see what's going on at the memblock level.

Also, the full kernel boot log would be useful to see.

Thanks.

(Patch isn't tested.)

 mm/vmalloc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 35b25e1340ca..3379bcd6d280 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -129,6 +129,8 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr,
 			return -EBUSY;
 		if (WARN_ON(!page))
 			return -ENOMEM;
+printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx\n",
+	page, page_to_pfn(page), addr);
 		set_pte_at(&init_mm, addr, pte, mk_pte(page, prot));
 		(*nr)++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply related	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-10 18:54           ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-10 18:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Mar 10, 2015 at 09:31:01PM +0300, Stas Sergeev wrote:
> 10.03.2015 20:38, Russell King - ARM Linux ?????:
> > On Tue, Mar 10, 2015 at 08:27:34PM +0300, Stas Sergeev wrote:
> >> Please also find the same crash here:
> >> http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html
> > Hmm, looks like from the exynos5420-arndale-octa failure in that, we
> > don't dump the page table entries.  We should do.  Sorry about my
> > previous mail.
> >
> > If you can reproduce this, please do so with this patch so that we
> > can get the page table entries associated with the problem.  Thanks.
> >
> >  arch/arm/mm/fault.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
> > index a982dc3190df..6333d9c17875 100644
> > --- a/arch/arm/mm/fault.c
> > +++ b/arch/arm/mm/fault.c
> > @@ -552,6 +552,7 @@ do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
> >  
> >  	pr_alert("Unhandled fault: %s (0x%03x) at 0x%08lx\n",
> >  		inf->name, fsr, addr);
> > +	show_pte(current->mm, addr);
> >  
> >  	info.si_signo = inf->sig;
> >  	info.si_errno = 0;
> >
> >

Thanks.

> [    5.383283] Unhandled fault: external abort on non-linefetch (0x808)
> at 0xf00d3018
> [    5.390871] pgd = c0004000
> [    5.393583] [f00d3018] *pgd=2d404811, *pte=efc1e65f, *ppte=efc1e45f

This is interesting.

So, the L1 page table entry is:
	PMD_TYPE_TABLE
	PMD_BIT4
	PMD_DOMAIN(0)
	Pointing at physical address 0x2f404800

L2 page table entry:
	PTE_EXT_XN
	PTE_BUFFERABLE
	PTE_CACHEABLE
	PTE_EXT_AP_UNO_SRW
	PTE_EXT_TEX(1)
	PTE_EXT_SHARED
	Physical address 0xefc1e000

That corresponds with L_PTE_MT_WRITEALLOC, so that's a memory type mapping
with cacheable, write-back, write-allocate attributes.

The thing which has me wondering though is the difference in physical
addresses - that looks /very/ wrong - unless you have close to 4GB of
memory.

Let's see whether we can get some debug from vmalloc to work out what's
going on - can you also apply the patch below.

Also, if you could include details about how much memory your platform
has, and where it's located, that would be useful - passing memblock=debug
should allow us to see what's going on at the memblock level.

Also, the full kernel boot log would be useful to see.

Thanks.

(Patch isn't tested.)

 mm/vmalloc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 35b25e1340ca..3379bcd6d280 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -129,6 +129,8 @@ static int vmap_pte_range(pmd_t *pmd, unsigned long addr,
 			return -EBUSY;
 		if (WARN_ON(!page))
 			return -ENOMEM;
+printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx\n",
+	page, page_to_pfn(page), addr);
 		set_pte_at(&init_mm, addr, pte, mk_pte(page, prot));
 		(*nr)++;
 	} while (pte++, addr += PAGE_SIZE, addr != end);

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply related	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 17:38       ` Russell King - ARM Linux
@ 2015-03-11 12:30         ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 12:30 UTC (permalink / raw)
  To: Russell King - ARM Linux; +Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

Russell King - ARM Linux wrote:
> Let's see whether we can get some debug from vmalloc to work out what's
> going on - can you also apply the patch below.
>
> Also, if you could include details about how much memory your platform
> has, and where it's located, that would be useful - passing
> memblock=debug
> should allow us to see what's going on at the memblock level.
>
> Also, the full kernel boot log would be useful to see. 
OK, here we go.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#60 SMP5
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41970-0x00000000a45b99]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41970-0x00000000a45b99],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x0
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6140(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K )
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000260] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090071] pid_max: default: 32768 minimum: 301
[    0.090140] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090147] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090396] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090419] ok
[    0.090520] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090869] Setting up static identity map for 0x4cecd8 - 0x4ced30
[    0.091058] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091143] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091803] Booting CPU 1
[    0.180066] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180268] Booting CPU 2
[    0.220065] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220261] Booting CPU 3
[    0.260065] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260106] Brought up 4 CPUs
[    0.260114] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260118] CPU: All CPU(s) started in SVC mode.
[    0.260383] devtmpfs: initialized
[    0.260709] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260882] pinctrl core: initialized pinctrl subsystem
[    0.262831] NET: Registered protocol family 16
[    0.263004] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263009] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263014] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263018] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263022] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263026] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263030] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263035] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263039] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263043] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263047] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263051] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263055] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263060] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263064] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263068] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263072] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263076] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263080] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263084] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263088] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263093] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263097] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263101] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263105] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263109] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263113] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263117] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263122] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263126] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263130] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263134] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263138] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263142] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263146] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263151] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263155] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263159] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263163] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263167] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263171] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263175] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263179] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263184] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263188] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263192] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263196] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263200] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263204] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263208] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263212] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263217] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263221] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263225] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263229] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263233] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263237] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263241] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263245] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263250] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263254] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263258] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263262] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263266] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263272] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290043] cpuidle: using governor ladder
[    0.330040] cpuidle: using governor menu
[    0.370317] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.370324] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.370328] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.370333] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.370337] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.370341] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.370345] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.370350] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.370354] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.370358] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.370362] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.370366] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.370641] vgaarb: loaded
[    0.370787] SCSI subsystem initialized
[    0.371078] usbcore: registered new interface driver usbfs
[    0.371119] usbcore: registered new interface driver hub
[    0.371159] usbcore: registered new device driver usb
[    0.371403] Advanced Linux Sound Architecture Driver Initialized.
[    0.371725] Bluetooth: Core ver 2.20
[    0.371751] NET: Registered protocol family 31
[    0.371756] Bluetooth: HCI device and connection manager initialized
[    0.371764] Bluetooth: HCI socket layer initialized
[    0.371771] Bluetooth: L2CAP socket layer initialized
[    0.371787] Bluetooth: SCO socket layer initialized
[    0.371951] cfg80211: Calling CRDA to update world regulatory domain
[    0.372086] Switched to clocksource armada_370_xp_clocksource
[    0.377949] NET: Registered protocol family 2
[    0.378270] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.378310] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.378362] TCP: Hash tables configured (established 8192 bind 8192)
[    0.378392] TCP: reno registered
[    0.378401] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.378420] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.378528] NET: Registered protocol family 1
[    0.378654] RPC: Registered named UNIX socket transport module.
[    0.378660] RPC: Registered udp transport module.
[    0.378664] RPC: Registered tcp transport module.
[    0.378667] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.378784] Unpacking initramfs...
[    0.484944] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.485846] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.486446] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.486457] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.486462] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.486467] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.486471] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.486475] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.486480] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.486484] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.486488] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.486492] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.486497] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.486501] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.486914] bounce: pool size: 64 pages
[    0.486956] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.486969] io scheduler noop registered
[    0.486977] io scheduler deadline registered
[    0.487007] io scheduler cfq registered (default)
[    0.487722] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.488073] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.488287] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.488423] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.488770] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.488780] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.488788] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.488795] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.489167] PCI: bus0: Fast back to back transfers disabled
[    0.489176] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489185] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489192] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489276] PCI: bus1: Fast back to back transfers enabled
[    0.489674] PCI: bus2: Fast back to back transfers disabled
[    0.489762] PCI: bus3: Fast back to back transfers enabled
[    0.489824] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.489832] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.489845] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.489862] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.489878] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.489884] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.489891] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.489899] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.490006] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.522135] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562133] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562220] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.602129] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.642128] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.676997] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.678103] console [ttyS0] disabled
[    0.698337] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.865983] console [ttyS0] enabled
[    2.890448] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.920444] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.950404] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.959987] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.965684] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.972201] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.262097] scsi host0: mvsas
[    6.449022] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.455491] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.465577] ata1.00: configured for UDMA/133
[    6.470316] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.479105] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.479374] sata_mv f10a0000.sata: slots 32 ports 2
[    6.480354] scsi host1: sata_mv
[    6.480597] scsi host2: sata_mv
[    6.480730] ata2: SATA max UDMA/133 irq 30
[    6.480733] ata3: SATA max UDMA/133 irq 30
[    6.481074] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.481227] nand: No NAND device found
[    6.481233] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.486935] request_module: runaway loop modprobe binfmt-0000
[    6.488830] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.493917] request_module: runaway loop modprobe binfmt-0000
[    6.503166] libphy: orion_mdio_bus: probed
[    6.504741] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.505519] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.506271] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.507018] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.507338] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.507343] ehci-pci: EHCI PCI platform driver
[    6.507379] ehci-orion: EHCI orion driver
[    6.507458] orion-ehci f1050000.usb: EHCI Host Controller
[    6.507473] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.507540] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.522095] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.522526] hub 1-0:1.0: USB hub found
[    6.522552] hub 1-0:1.0: 1 port detected
[    6.522787] orion-ehci f1051000.usb: EHCI Host Controller
[    6.522800] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.522856] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.542095] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.542489] hub 2-0:1.0: USB hub found
[    6.542510] hub 2-0:1.0: 1 port detected
[    6.542813] usbcore: registered new interface driver usb-storage
[    6.542994] mousedev: PS/2 mouse device common for all mice
[    6.543438] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as
rtc0
[    6.543538] i2c /dev entries driver
[    6.544360] orion_wdt: Initial timeout 171 sec
[    6.545205] Driver 'mmcblk' needs updating - please use bus_type methods
[    6.545230] sdhci: Secure Digital Host Controller Interface driver
[    6.545231] sdhci: Copyright(c) Pierre Ossman
[    6.545303] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.545445] ledtrig-cpu: registered to indicate activity on CPUs
[    6.545568] usbcore: registered new interface driver usbhid
[    6.545570] usbhid: USB HID core driver
[    6.545967] of-flash f0000000.nor: do_map_probe() failed for type
cfi_probe
[    6.551325] request_module: runaway loop modprobe binfmt-0000
[    6.553078] of-flash f0000000.nor: do_map_probe() failed
[    6.553940] TCP: cubic registered
[    6.553947] NET: Registered protocol family 17
[    6.554100] ThumbEE CPU extension supported.
[    6.554109] Registering SWP/SWPB emulation handler
[    6.560581] rtc-mv f1010300.rtc: setting system clock to 2015-03-11
15:26:35 UTC (1426087595)
[    6.561531] ALSA device list:
[    6.561533]   No soundcards found.
[    6.771767] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.771932] sd 0:0:0:0: [sda] Write Protect is off
[    6.771992] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.772534] vmalloc: mapping page ef7f13c0 (0x000efc1e000) at 0xf00ca000
[    6.772537] vmalloc: mapping page ef7f13a0 (0x000efc1d000) at 0xf00cb000
[    6.772540] vmalloc: mapping page ef7f1380 (0x000efc1c000) at 0xf00cc000
[    6.772542] vmalloc: mapping page ef7f1360 (0x000efc1b000) at 0xf00cd000
[    6.772544] vmalloc: mapping page ef7f1340 (0x000efc1a000) at 0xf00ce000
[    6.772546] vmalloc: mapping page ef7f1320 (0x000efc19000) at 0xf00cf000
[    6.772548] vmalloc: mapping page ef7f1300 (0x000efc18000) at 0xf00d0000
[    6.772551] vmalloc: mapping page ef7f12e0 (0x000efc17000) at 0xf00d1000
[    6.822102] ata2: SATA link down (SStatus 0 SControl F300)
[    6.850381] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00d3000
[    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
[    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
[    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    6.878153] pgd = c0004000
[    6.880866] [f00d3018] *pgd=2d404811, *pte=efba165f, *ppte=efba145f
[    6.887183] Internal error: : 808 [#1] SMP ARM
[    6.891636] Modules linked in:
[    6.894708] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #60
[    6.902816] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.908663] task: ed41e800 ti: ed43e000 task.ti: ed43e000
[    6.914076] PC is at _set_bit+0x28/0x50
[    6.917914] LR is at n_tty_set_termios+0x328/0x358
[    6.922717] pc : [<c01bc938>]    lr : [<c02073b4>]    psr: 40000113
[    6.922717] sp : ed43fd00  ip : 00000000  fp : 00000000
[    6.934221] r10: 00000002  r9 : 00000000  r8 : ec932480
[    6.939457] r7 : 00000000  r6 : f00d3018  r5 : f00d3000  r4 : ec982200
[    6.945999] r3 : 00002000  r2 : 00002000  r1 : f00d3018  r0 : 00000000
[    6.952543] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM 
Segment kernel
[    6.959868] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    6.965627] Process swapper/0 (pid: 1, stack limit = 0xed43e220)
[    6.971647] Stack: (0xed43fd00 to 0xed440000)


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 12:30         ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 12:30 UTC (permalink / raw)
  To: linux-arm-kernel

Russell King - ARM Linux wrote:
> Let's see whether we can get some debug from vmalloc to work out what's
> going on - can you also apply the patch below.
>
> Also, if you could include details about how much memory your platform
> has, and where it's located, that would be useful - passing
> memblock=debug
> should allow us to see what's going on at the memblock level.
>
> Also, the full kernel boot log would be useful to see. 
OK, here we go.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#60 SMP5
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41970-0x00000000a45b99]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41970-0x00000000a45b99],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x0
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6140(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K )
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000260] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090071] pid_max: default: 32768 minimum: 301
[    0.090140] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090147] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090396] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090419] ok
[    0.090520] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090869] Setting up static identity map for 0x4cecd8 - 0x4ced30
[    0.091058] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091143] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091803] Booting CPU 1
[    0.180066] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180268] Booting CPU 2
[    0.220065] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220261] Booting CPU 3
[    0.260065] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260106] Brought up 4 CPUs
[    0.260114] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260118] CPU: All CPU(s) started in SVC mode.
[    0.260383] devtmpfs: initialized
[    0.260709] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260882] pinctrl core: initialized pinctrl subsystem
[    0.262831] NET: Registered protocol family 16
[    0.263004] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263009] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263014] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263018] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263022] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263026] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263030] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263035] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263039] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263043] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263047] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263051] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263055] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263060] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263064] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263068] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263072] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263076] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263080] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263084] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263088] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263093] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263097] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263101] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263105] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263109] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263113] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263117] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263122] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263126] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263130] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263134] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263138] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263142] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263146] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263151] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263155] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263159] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263163] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263167] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263171] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263175] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263179] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263184] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263188] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263192] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263196] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263200] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263204] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263208] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263212] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263217] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263221] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263225] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263229] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263233] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263237] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263241] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263245] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263250] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263254] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263258] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263262] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263266] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263272] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290043] cpuidle: using governor ladder
[    0.330040] cpuidle: using governor menu
[    0.370317] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.370324] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.370328] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.370333] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.370337] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.370341] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.370345] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.370350] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.370354] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.370358] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.370362] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.370366] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.370641] vgaarb: loaded
[    0.370787] SCSI subsystem initialized
[    0.371078] usbcore: registered new interface driver usbfs
[    0.371119] usbcore: registered new interface driver hub
[    0.371159] usbcore: registered new device driver usb
[    0.371403] Advanced Linux Sound Architecture Driver Initialized.
[    0.371725] Bluetooth: Core ver 2.20
[    0.371751] NET: Registered protocol family 31
[    0.371756] Bluetooth: HCI device and connection manager initialized
[    0.371764] Bluetooth: HCI socket layer initialized
[    0.371771] Bluetooth: L2CAP socket layer initialized
[    0.371787] Bluetooth: SCO socket layer initialized
[    0.371951] cfg80211: Calling CRDA to update world regulatory domain
[    0.372086] Switched to clocksource armada_370_xp_clocksource
[    0.377949] NET: Registered protocol family 2
[    0.378270] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.378310] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.378362] TCP: Hash tables configured (established 8192 bind 8192)
[    0.378392] TCP: reno registered
[    0.378401] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.378420] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.378528] NET: Registered protocol family 1
[    0.378654] RPC: Registered named UNIX socket transport module.
[    0.378660] RPC: Registered udp transport module.
[    0.378664] RPC: Registered tcp transport module.
[    0.378667] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.378784] Unpacking initramfs...
[    0.484944] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.485846] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.486446] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.486457] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.486462] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.486467] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.486471] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.486475] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.486480] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.486484] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.486488] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.486492] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.486497] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.486501] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.486914] bounce: pool size: 64 pages
[    0.486956] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.486969] io scheduler noop registered
[    0.486977] io scheduler deadline registered
[    0.487007] io scheduler cfq registered (default)
[    0.487722] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.488073] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.488287] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.488423] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.488770] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.488780] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.488788] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.488795] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.489167] PCI: bus0: Fast back to back transfers disabled
[    0.489176] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489185] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489192] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489276] PCI: bus1: Fast back to back transfers enabled
[    0.489674] PCI: bus2: Fast back to back transfers disabled
[    0.489762] PCI: bus3: Fast back to back transfers enabled
[    0.489824] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.489832] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.489845] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.489862] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.489878] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.489884] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.489891] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.489899] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.490006] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.522135] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562133] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562220] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.602129] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.642128] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.676997] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.678103] console [ttyS0] disabled
[    0.698337] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.865983] console [ttyS0] enabled
[    2.890448] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.920444] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.950404] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.959987] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.965684] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.972201] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.262097] scsi host0: mvsas
[    6.449022] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.455491] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.465577] ata1.00: configured for UDMA/133
[    6.470316] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.479105] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.479374] sata_mv f10a0000.sata: slots 32 ports 2
[    6.480354] scsi host1: sata_mv
[    6.480597] scsi host2: sata_mv
[    6.480730] ata2: SATA max UDMA/133 irq 30
[    6.480733] ata3: SATA max UDMA/133 irq 30
[    6.481074] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.481227] nand: No NAND device found
[    6.481233] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.486935] request_module: runaway loop modprobe binfmt-0000
[    6.488830] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.493917] request_module: runaway loop modprobe binfmt-0000
[    6.503166] libphy: orion_mdio_bus: probed
[    6.504741] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.505519] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.506271] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.507018] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.507338] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.507343] ehci-pci: EHCI PCI platform driver
[    6.507379] ehci-orion: EHCI orion driver
[    6.507458] orion-ehci f1050000.usb: EHCI Host Controller
[    6.507473] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.507540] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.522095] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.522526] hub 1-0:1.0: USB hub found
[    6.522552] hub 1-0:1.0: 1 port detected
[    6.522787] orion-ehci f1051000.usb: EHCI Host Controller
[    6.522800] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.522856] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.542095] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.542489] hub 2-0:1.0: USB hub found
[    6.542510] hub 2-0:1.0: 1 port detected
[    6.542813] usbcore: registered new interface driver usb-storage
[    6.542994] mousedev: PS/2 mouse device common for all mice
[    6.543438] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as
rtc0
[    6.543538] i2c /dev entries driver
[    6.544360] orion_wdt: Initial timeout 171 sec
[    6.545205] Driver 'mmcblk' needs updating - please use bus_type methods
[    6.545230] sdhci: Secure Digital Host Controller Interface driver
[    6.545231] sdhci: Copyright(c) Pierre Ossman
[    6.545303] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.545445] ledtrig-cpu: registered to indicate activity on CPUs
[    6.545568] usbcore: registered new interface driver usbhid
[    6.545570] usbhid: USB HID core driver
[    6.545967] of-flash f0000000.nor: do_map_probe() failed for type
cfi_probe
[    6.551325] request_module: runaway loop modprobe binfmt-0000
[    6.553078] of-flash f0000000.nor: do_map_probe() failed
[    6.553940] TCP: cubic registered
[    6.553947] NET: Registered protocol family 17
[    6.554100] ThumbEE CPU extension supported.
[    6.554109] Registering SWP/SWPB emulation handler
[    6.560581] rtc-mv f1010300.rtc: setting system clock to 2015-03-11
15:26:35 UTC (1426087595)
[    6.561531] ALSA device list:
[    6.561533]   No soundcards found.
[    6.771767] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.771932] sd 0:0:0:0: [sda] Write Protect is off
[    6.771992] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.772534] vmalloc: mapping page ef7f13c0 (0x000efc1e000) at 0xf00ca000
[    6.772537] vmalloc: mapping page ef7f13a0 (0x000efc1d000) at 0xf00cb000
[    6.772540] vmalloc: mapping page ef7f1380 (0x000efc1c000) at 0xf00cc000
[    6.772542] vmalloc: mapping page ef7f1360 (0x000efc1b000) at 0xf00cd000
[    6.772544] vmalloc: mapping page ef7f1340 (0x000efc1a000) at 0xf00ce000
[    6.772546] vmalloc: mapping page ef7f1320 (0x000efc19000) at 0xf00cf000
[    6.772548] vmalloc: mapping page ef7f1300 (0x000efc18000) at 0xf00d0000
[    6.772551] vmalloc: mapping page ef7f12e0 (0x000efc17000) at 0xf00d1000
[    6.822102] ata2: SATA link down (SStatus 0 SControl F300)
[    6.850381] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00d3000
[    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
[    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
[    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    6.878153] pgd = c0004000
[    6.880866] [f00d3018] *pgd=2d404811, *pte=efba165f, *ppte=efba145f
[    6.887183] Internal error: : 808 [#1] SMP ARM
[    6.891636] Modules linked in:
[    6.894708] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #60
[    6.902816] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.908663] task: ed41e800 ti: ed43e000 task.ti: ed43e000
[    6.914076] PC is at _set_bit+0x28/0x50
[    6.917914] LR is at n_tty_set_termios+0x328/0x358
[    6.922717] pc : [<c01bc938>]    lr : [<c02073b4>]    psr: 40000113
[    6.922717] sp : ed43fd00  ip : 00000000  fp : 00000000
[    6.934221] r10: 00000002  r9 : 00000000  r8 : ec932480
[    6.939457] r7 : 00000000  r6 : f00d3018  r5 : f00d3000  r4 : ec982200
[    6.945999] r3 : 00002000  r2 : 00002000  r1 : f00d3018  r0 : 00000000
[    6.952543] Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM 
Segment kernel
[    6.959868] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    6.965627] Process swapper/0 (pid: 1, stack limit = 0xed43e220)
[    6.971647] Stack: (0xed43fd00 to 0xed440000)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 16:54 ` Stas Sergeev
@ 2015-03-11 12:44   ` Gregory CLEMENT
  -1 siblings, 0 replies; 88+ messages in thread
From: Gregory CLEMENT @ 2015-03-11 12:44 UTC (permalink / raw)
  To: Stas Sergeev; +Cc: Andrew Morton, Linux kernel, linux-arm-kernel

Hi Stas,

On 10/03/2015 17:54, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 

I am really surprised by this patch because I used the Armada XP based
board in a daily base and I never saw this issue.

Could you provide your .config?

Also could you confirm that you use the dts from arch/arm/boot/dts
wihtout any change?


Thanks,

Gregory


> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.
> 
> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> index cf6e0f2..e03622e 100644
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -50,7 +50,6 @@
>  #include <linux/uaccess.h>
>  #include <linux/module.h>
>  #include <linux/ratelimit.h>
> -#include <linux/vmalloc.h>
>  
>  
>  /* number of characters left in xmit buffer before select has we have
> room */
> @@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
>      if (tty->link)
>          n_tty_packet_mode_flush(tty);
>  
> -    vfree(ldata);
> +    kfree(ldata);
>      tty->disc_data = NULL;
>  }
>  
> @@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
>      struct n_tty_data *ldata;
>  
>      /* Currently a malloc failure here can panic */
> -    ldata = vmalloc(sizeof(*ldata));
> +    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
>      if (!ldata)
>          goto err;
>  
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 12:44   ` Gregory CLEMENT
  0 siblings, 0 replies; 88+ messages in thread
From: Gregory CLEMENT @ 2015-03-11 12:44 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Stas,

On 10/03/2015 17:54, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 

I am really surprised by this patch because I used the Armada XP based
board in a daily base and I never saw this issue.

Could you provide your .config?

Also could you confirm that you use the dts from arch/arm/boot/dts
wihtout any change?


Thanks,

Gregory


> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.
> 
> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
> index cf6e0f2..e03622e 100644
> --- a/drivers/tty/n_tty.c
> +++ b/drivers/tty/n_tty.c
> @@ -50,7 +50,6 @@
>  #include <linux/uaccess.h>
>  #include <linux/module.h>
>  #include <linux/ratelimit.h>
> -#include <linux/vmalloc.h>
>  
>  
>  /* number of characters left in xmit buffer before select has we have
> room */
> @@ -1892,7 +1891,7 @@ static void n_tty_close(struct tty_struct *tty)
>      if (tty->link)
>          n_tty_packet_mode_flush(tty);
>  
> -    vfree(ldata);
> +    kfree(ldata);
>      tty->disc_data = NULL;
>  }
>  
> @@ -1911,7 +1910,7 @@ static int n_tty_open(struct tty_struct *tty)
>      struct n_tty_data *ldata;
>  
>      /* Currently a malloc failure here can panic */
> -    ldata = vmalloc(sizeof(*ldata));
> +    ldata = kmalloc(sizeof(*ldata), GFP_KERNEL);
>      if (!ldata)
>          goto err;
>  
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 12:30         ` Stas Sergeev
@ 2015-03-11 12:47           ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 12:47 UTC (permalink / raw)
  To: Stas Sergeev; +Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

On Wed, Mar 11, 2015 at 03:30:33PM +0300, Stas Sergeev wrote:
> OK, here we go.
> 
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> #60 SMP5
> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> cache
> [    0.000000] Machine model: Marvell Armada XP Development Board
> DB-MV784MP-GP
> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
...
> [    0.000000] MEMBLOCK configuration:
> [    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
> [    0.000000]  memory.cnt  = 0x1
> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
> 0xf0000000 bytes flags: 0x0

So this says you have memory covering that entire range, and actually
beyond to 8GB.

> [    6.772534] vmalloc: mapping page ef7f13c0 (0x000efc1e000) at 0xf00ca000
> [    6.772537] vmalloc: mapping page ef7f13a0 (0x000efc1d000) at 0xf00cb000
> [    6.772540] vmalloc: mapping page ef7f1380 (0x000efc1c000) at 0xf00cc000
> [    6.772542] vmalloc: mapping page ef7f1360 (0x000efc1b000) at 0xf00cd000
> [    6.772544] vmalloc: mapping page ef7f1340 (0x000efc1a000) at 0xf00ce000
> [    6.772546] vmalloc: mapping page ef7f1320 (0x000efc19000) at 0xf00cf000
> [    6.772548] vmalloc: mapping page ef7f1300 (0x000efc18000) at 0xf00d0000
> [    6.772551] vmalloc: mapping page ef7f12e0 (0x000efc17000) at 0xf00d1000
> [    6.822102] ata2: SATA link down (SStatus 0 SControl F300)
> [    6.850381] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00d3000

Here, we set up the mapping, which looks fine - it's apparently in the
range of physical addresses we expect for system memory.

> [    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
> [    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
> [    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
> at 0xf00d3018

Yet it causes this.  I wonder if there's a conflict between DRAM and
some other devices causing this, or maybe a stale TLB entry.

The thing which makes me consider a stale TLB entry is that the mapping
we're adding is for a WBWA cacheable mapping, which should cause line
fetches.  The abort which is being raised is for a non-linefetch, a
type of access which a WBWA cacheable mapping should never create.

We can check whether it's a stale TLB entry - if you add a call to
flush_tlb_all() after the call to vmalloc() in n_tty_open().  You
may need to include <asm/tlbflush.h> to make that work - can you try
that please.

Sorry it's needing soo much back-n-forth between us, I don't have 
any Armada platforms which approach the size you have there. :(

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 12:47           ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 12:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 03:30:33PM +0300, Stas Sergeev wrote:
> OK, here we go.
> 
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> #60 SMP5
> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> cache
> [    0.000000] Machine model: Marvell Armada XP Development Board
> DB-MV784MP-GP
> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
...
> [    0.000000] MEMBLOCK configuration:
> [    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
> [    0.000000]  memory.cnt  = 0x1
> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
> 0xf0000000 bytes flags: 0x0

So this says you have memory covering that entire range, and actually
beyond to 8GB.

> [    6.772534] vmalloc: mapping page ef7f13c0 (0x000efc1e000) at 0xf00ca000
> [    6.772537] vmalloc: mapping page ef7f13a0 (0x000efc1d000) at 0xf00cb000
> [    6.772540] vmalloc: mapping page ef7f1380 (0x000efc1c000) at 0xf00cc000
> [    6.772542] vmalloc: mapping page ef7f1360 (0x000efc1b000) at 0xf00cd000
> [    6.772544] vmalloc: mapping page ef7f1340 (0x000efc1a000) at 0xf00ce000
> [    6.772546] vmalloc: mapping page ef7f1320 (0x000efc19000) at 0xf00cf000
> [    6.772548] vmalloc: mapping page ef7f1300 (0x000efc18000) at 0xf00d0000
> [    6.772551] vmalloc: mapping page ef7f12e0 (0x000efc17000) at 0xf00d1000
> [    6.822102] ata2: SATA link down (SStatus 0 SControl F300)
> [    6.850381] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00d3000

Here, we set up the mapping, which looks fine - it's apparently in the
range of physical addresses we expect for system memory.

> [    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
> [    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
> [    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
> at 0xf00d3018

Yet it causes this.  I wonder if there's a conflict between DRAM and
some other devices causing this, or maybe a stale TLB entry.

The thing which makes me consider a stale TLB entry is that the mapping
we're adding is for a WBWA cacheable mapping, which should cause line
fetches.  The abort which is being raised is for a non-linefetch, a
type of access which a WBWA cacheable mapping should never create.

We can check whether it's a stale TLB entry - if you add a call to
flush_tlb_all() after the call to vmalloc() in n_tty_open().  You
may need to include <asm/tlbflush.h> to make that work - can you try
that please.

Sorry it's needing soo much back-n-forth between us, I don't have 
any Armada platforms which approach the size you have there. :(

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 12:44   ` Gregory CLEMENT
@ 2015-03-11 12:57     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 12:57 UTC (permalink / raw)
  To: Gregory CLEMENT; +Cc: Linux kernel, linux-arm-kernel

11.03.2015 15:44, Gregory CLEMENT пишет:
> Hi Stas,
>
> On 10/03/2015 17:54, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
> I am really surprised by this patch because I used the Armada XP based
> board in a daily base and I never saw this issue.
>
> Could you provide your .config?
>
> Also could you confirm that you use the dts from arch/arm/boot/dts
> wihtout any change?
With defconfig, and dts without a slightest change this
is still reproduceable (the logs I was posting to this thread
were done with _slightly_ modified config, and unmodified DT).

But... the board itself is modified. It is not a pure armada-xp-gp.
I still doubt that this crash is because of the board's mods, for
example please find the same crash here:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html

---

Console logs for failures
=========================

arm-mvebu_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
----------------------------------------------

	armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log:
	------------------------------------------------------------

3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 55048012 02109471
[<c0186b78>] (_set_bit) from [<c01c9ba8>] (n_tty_set_termios+0x234/0x348)
[<c01c9ba8>] (n_tty_set_termios) from [<c01c9da8>] (n_tty_open+0xec/0x114)
---


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 12:57     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 12:57 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 15:44, Gregory CLEMENT ?????:
> Hi Stas,
>
> On 10/03/2015 17:54, Stas Sergeev wrote:
>> Hello, the patch below is needed for a successful boot on armada-xp.
>>
> I am really surprised by this patch because I used the Armada XP based
> board in a daily base and I never saw this issue.
>
> Could you provide your .config?
>
> Also could you confirm that you use the dts from arch/arm/boot/dts
> wihtout any change?
With defconfig, and dts without a slightest change this
is still reproduceable (the logs I was posting to this thread
were done with _slightly_ modified config, and unmodified DT).

But... the board itself is modified. It is not a pure armada-xp-gp.
I still doubt that this crash is because of the board's mods, for
example please find the same crash here:
http://lists.linaro.org/pipermail/kernel-build-reports/2014-June/003872.html

---

Console logs for failures
=========================

arm-mvebu_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y
----------------------------------------------

	armada-xp-openblocks-ax3-4: FAIL: last 40 lines of boot log:
	------------------------------------------------------------

3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 55048012 02109471
[<c0186b78>] (_set_bit) from [<c01c9ba8>] (n_tty_set_termios+0x234/0x348)
[<c01c9ba8>] (n_tty_set_termios) from [<c01c9da8>] (n_tty_open+0xec/0x114)
---

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 12:44   ` Gregory CLEMENT
@ 2015-03-11 13:14     ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 13:14 UTC (permalink / raw)
  To: Gregory CLEMENT
  Cc: Stas Sergeev, Andrew Morton, Linux kernel, linux-arm-kernel

On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
> Hi Stas,
> 
> On 10/03/2015 17:54, Stas Sergeev wrote:
> > Hello, the patch below is needed for a successful boot on armada-xp.
> > 
> 
> I am really surprised by this patch because I used the Armada XP based
> board in a daily base and I never saw this issue.

Can you provide some details about your board - does it have 8GB of
memory, ranging from 0-0xf0000000, and 4G-8G ?

Thanks.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 13:14     ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 13:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
> Hi Stas,
> 
> On 10/03/2015 17:54, Stas Sergeev wrote:
> > Hello, the patch below is needed for a successful boot on armada-xp.
> > 
> 
> I am really surprised by this patch because I used the Armada XP based
> board in a daily base and I never saw this issue.

Can you provide some details about your board - does it have 8GB of
memory, ranging from 0-0xf0000000, and 4G-8G ?

Thanks.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 12:47           ` Russell King - ARM Linux
@ 2015-03-11 14:24             ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 14:24 UTC (permalink / raw)
  To: Russell King - ARM Linux; +Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

11.03.2015 15:47, Russell King - ARM Linux пишет:
>> [    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
>> [    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
>> [    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
>> at 0xf00d3018
> Yet it causes this.  I wonder if there's a conflict between DRAM and
> some other devices causing this, or maybe a stale TLB entry.
>
> The thing which makes me consider a stale TLB entry is that the mapping
> we're adding is for a WBWA cacheable mapping, which should cause line
> fetches.  The abort which is being raised is for a non-linefetch, a
> type of access which a WBWA cacheable mapping should never create.
>
> We can check whether it's a stale TLB entry - if you add a call to
> flush_tlb_all() after the call to vmalloc() in n_tty_open().  You
> may need to include <asm/tlbflush.h> to make that work - can you try
> that please.
Seems to be the same:
---
[    6.872592] vmalloc: mapping page ef7f0800 (0x000efbc0000) at 0xf00d3000
[    6.879309] vmalloc: mapping page ef7f0820 (0x000efbc1000) at 0xf00d4000
[    6.886040] vmalloc: mapping page ef7f0840 (0x000efbc2000) at 0xf00d5000
[    6.892762] flush_tlb_all() called here
[    6.896611] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    6.903717]  sda: sda1 sda2 sda3
[    6.907429] pgd = c0004000
[    6.910141] [f00d3018] *pgd=2d404811, *pte=efbc065f, *ppte=efbc045f
[    6.916461] Internal error: : 808 [#1] SMP ARM
---

However, while testing, I've suddenly got another crash happened
a bit earlier than the previous one used to happen: (OOM? How??)
---
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP 5
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a45391]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a45391],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x0
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6144(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K )
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000259] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090071] pid_max: default: 32768 minimum: 301
[    0.090141] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090395] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090418] ok
[    0.090521] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090870] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091060] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091144] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091802] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180270] Booting CPU 2
[    0.220066] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220262] Booting CPU 3
[    0.260066] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260107] Brought up 4 CPUs
[    0.260115] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260119] CPU: All CPU(s) started in SVC mode.
[    0.260386] devtmpfs: initialized
[    0.260709] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260880] pinctrl core: initialized pinctrl subsystem
[    0.262833] NET: Registered protocol family 16
[    0.263006] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263011] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263016] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263020] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263024] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263028] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263032] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263036] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263041] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263045] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263049] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263053] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263057] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263061] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263065] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263070] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263074] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263078] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263082] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263086] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263090] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263094] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263098] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263103] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263107] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263111] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263115] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263119] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263123] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263127] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263131] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263136] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263140] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263144] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263148] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263152] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263156] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263160] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263164] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263169] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263173] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263177] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263181] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263185] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263189] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263193] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263197] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263202] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263206] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263210] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263214] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263218] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263222] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263226] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263230] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263235] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263239] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263243] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263247] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263251] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263255] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263259] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263263] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263267] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263273] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.300043] cpuidle: using governor ladder
[    0.350041] cpuidle: using governor menu
[    0.390332] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.390339] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.390343] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.390348] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.390352] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.390356] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.390361] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.390365] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.390369] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.390373] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.390378] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.390382] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.390680] vgaarb: loaded
[    0.390825] SCSI subsystem initialized
[    0.391127] usbcore: registered new interface driver usbfs
[    0.391170] usbcore: registered new interface driver hub
[    0.391216] usbcore: registered new device driver usb
[    0.391455] Advanced Linux Sound Architecture Driver Initialized.
[    0.391774] Bluetooth: Core ver 2.20
[    0.391801] NET: Registered protocol family 31
[    0.391806] Bluetooth: HCI device and connection manager initialized
[    0.391814] Bluetooth: HCI socket layer initialized
[    0.391821] Bluetooth: L2CAP socket layer initialized
[    0.391838] Bluetooth: SCO socket layer initialized
[    0.392029] cfg80211: Calling CRDA to update world regulatory domain
[    0.392158] Switched to clocksource armada_370_xp_clocksource
[    0.398730] NET: Registered protocol family 2
[    0.399051] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.399090] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.399142] TCP: Hash tables configured (established 8192 bind 8192)
[    0.399175] TCP: reno registered
[    0.399184] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.399204] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.399311] NET: Registered protocol family 1
[    0.399473] RPC: Registered named UNIX socket transport module.
[    0.399478] RPC: Registered udp transport module.
[    0.399482] RPC: Registered tcp transport module.
[    0.399486] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.399602] Unpacking initramfs...
[    0.505641] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.506543] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.507145] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.507155] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.507160] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.507165] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.507169] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.507173] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.507178] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.507182] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.507186] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.507190] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.507195] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.507199] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.507586] bounce: pool size: 64 pages
[    0.507628] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.507640] io scheduler noop registered
[    0.507648] io scheduler deadline registered
[    0.507675] io scheduler cfq registered (default)
[    0.508386] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.508738] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.508954] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.509087] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.509436] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.509446] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.509453] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.509460] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.509835] PCI: bus0: Fast back to back transfers disabled
[    0.509844] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509852] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509859] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509941] PCI: bus1: Fast back to back transfers enabled
[    0.510338] PCI: bus2: Fast back to back transfers disabled
[    0.510426] PCI: bus3: Fast back to back transfers enabled
[    0.510489] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.510497] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.510509] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.510527] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.510543] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.510549] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.510556] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.510563] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.510671] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.542214] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.582202] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.582288] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.622202] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.662201] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.696278] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.697373] console [ttyS0] disabled
[    0.717604] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.885177] console [ttyS0] enabled
[    2.909702] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.940777] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.970730] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.980393] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.986095] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.992704] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.282170] scsi host0: mvsas
[    6.467033] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.473503] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.483523] ata1.00: configured for UDMA/133
[    6.502604] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.511657] sata_mv f10a0000.sata: slots 32 ports 2
[    6.512263] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.512268] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.512384] sd 0:0:0:0: [sda] Write Protect is off
[    6.512442] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.522502] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf009e000
[    6.522505] vmalloc: mapping page ef7f0440 (0x000efba2000) at 0xf009f000
[    6.522508] vmalloc: mapping page ef7f0460 (0x000efba3000) at 0xf00a0000
[    6.522510] vmalloc: mapping page ef7f0480 (0x000efba4000) at 0xf00a1000
[    6.522512] vmalloc: mapping page ef7f04a0 (0x000efba5000) at 0xf00a2000
[    6.522514] vmalloc: mapping page ef7f04c0 (0x000efba6000) at 0xf00a3000
[    6.522516] vmalloc: mapping page ef7f04e0 (0x000efba7000) at 0xf00a4000
[    6.522519] vmalloc: mapping page ef7f0500 (0x000efba8000) at 0xf00a5000
[    6.538641]  sda: sda1 sda2 sda3
[    6.601155] scsi host1: sata_mv
[    6.604557] scsi host2: sata_mv
[    6.607849] ata2: SATA max UDMA/133 irq 30
[    6.611958] ata3: SATA max UDMA/133 irq 30
[    6.616502] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.624077] nand: second ID read did not match 00,28 against 00,20
[    6.630272] nand: No NAND device found
[    6.634044] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.646259] request_module: runaway loop modprobe binfmt-0000
[    6.653829] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.664246] request_module: runaway loop modprobe binfmt-0000
[    6.672883] libphy: orion_mdio_bus: probed
[    6.678615] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.687691] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.696796] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.705899] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.714550] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.721099] ehci-pci: EHCI PCI platform driver
[    6.725609] ehci-orion: EHCI orion driver
[    6.729725] orion-ehci f1050000.usb: EHCI Host Controller
[    6.735168] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.742842] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.762173] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.768603] hub 1-0:1.0: USB hub found
[    6.772402] hub 1-0:1.0: 1 port detected
[    6.776609] orion-ehci f1051000.usb: EHCI Host Controller
[    6.782034] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.789710] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.812183] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.818183] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0
[    6.826058] CPU: 3 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.834094] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.839960] [<c0014ca4>] (unwind_backtrace) from [<c0010e34>]
(show_stack+0x10/0x14)
[    6.847743] [<c0010e34>] (show_stack) from [<c04c9d64>]
(dump_stack+0x6c/0x88)
[    6.855006] [<c04c9d64>] (dump_stack) from [<c04c8e18>]
(dump_header.isra.12+0x90/0x1b0)
[    6.863137] [<c04c8e18>] (dump_header.isra.12) from [<c007f3ec>]
(__out_of_memory.isra.15+0x318/0x340)
[    6.872482] [<c007f3ec>] (__out_of_memory.isra.15) from [<c007f5c4>]
(out_of_memory+0x40/0x5c)
[    6.881120] [<c007f5c4>] (out_of_memory) from [<c0082efc>]
(__alloc_pages_nodemask+0x604/0x644)
[    6.889857] [<c0082efc>] (__alloc_pages_nodemask) from [<c00b150c>]
(cache_alloc_refill+0x350/0x580)
[    6.899027] [<c00b150c>] (cache_alloc_refill) from [<c00b18d0>]
(__kmalloc+0xac/0xe8)
[    6.906895] [<c00b18d0>] (__kmalloc) from [<c02fff18>]
(usb_hcd_submit_urb+0x1f8/0x850)
[    6.914933] [<c02fff18>] (usb_hcd_submit_urb) from [<c03024ac>]
(usb_start_wait_urb+0x44/0xbc)
[    6.923576] [<c03024ac>] (usb_start_wait_urb) from [<c03026d4>]
(usb_control_msg+0xa0/0xc4)
[    6.931951] [<c03026d4>] (usb_control_msg) from [<c0302bf4>]
(usb_get_descriptor+0x70/0xc4)
[    6.940331] [<c0302bf4>] (usb_get_descriptor) from [<c0302d24>]
(usb_get_device_descriptor+0x50/0x80)
[    6.949592] [<c0302d24>] (usb_get_device_descriptor) from
[<c02ff3f8>] (usb_add_hcd+0x37c/0x788)
[    6.958410] [<c02ff3f8>] (usb_add_hcd) from [<c031a074>]
(ehci_orion_drv_probe+0x2f4/0x480)
[    6.966795] [<c031a074>] (ehci_orion_drv_probe) from [<c0231308>]
(platform_drv_probe+0x48/0x98)
[    6.975612] [<c0231308>] (platform_drv_probe) from [<c022fecc>]
(driver_probe_device+0x114/0x234)
[    6.982182] ata2: SATA link down (SStatus 0 SControl F300)
[    6.990010] [<c022fecc>] (driver_probe_device) from [<c0230078>]
(__driver_attach+0x8c/0x90)
[    6.998477] [<c0230078>] (__driver_attach) from [<c022e880>]
(bus_for_each_dev+0x54/0x88)
[    7.006683] [<c022e880>] (bus_for_each_dev) from [<c022f6d0>]
(bus_add_driver+0xd8/0x1cc)
[    7.014889] [<c022f6d0>] (bus_add_driver) from [<c02306b8>]
(driver_register+0x78/0xf4)
[    7.022922] [<c02306b8>] (driver_register) from [<c0008a64>]
(do_one_initcall+0x80/0x1d0)
[    7.031127] [<c0008a64>] (do_one_initcall) from [<c0655d3c>]
(kernel_init_freeable+0x108/0x1d4)
[    7.039858] [<c0655d3c>] (kernel_init_freeable) from [<c04c68a8>]
(kernel_init+0x8/0xe4)
[    7.047978] [<c04c68a8>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    7.055570] Mem-info:
[    7.057847] Normal per-cpu:
[    7.060647] CPU    0: hi:  186, btch:  31 usd:  42
[    7.065454] CPU    1: hi:  186, btch:  31 usd:  41
[    7.070255] CPU    2: hi:  186, btch:  31 usd:  40
[    7.075062] CPU    3: hi:  186, btch:  31 usd: 174
[    7.079863] HighMem per-cpu:
[    7.082754] CPU    0: hi:  186, btch:  31 usd:  19
[    7.087556] CPU    1: hi:  186, btch:  31 usd:  31
[    7.092363] CPU    2: hi:  186, btch:  31 usd:  62
[    7.097165] CPU    3: hi:  186, btch:  31 usd:   2
[    7.101972] active_anon:0 inactive_anon:0 isolated_anon:0
[    7.101972]  active_file:222 inactive_file:1682 isolated_file:0
[    7.101972]  unevictable:0 dirty:0 writeback:0 unstable:0
[    7.101972]  free:787313 slab_reclaimable:104 slab_unreclaimable:182486
[    7.101972]  mapped:0 shmem:0 pagetables:0 bounce:0
[    7.101972]  free_cma:0
[    7.132650] Normal free:3392kB min:3436kB low:4292kB high:5152kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unes
[    7.172882] lowmem_reserve[]: 0 24640 24640
[    7.177127] HighMem free:3145860kB min:512kB low:4176kB high:7840kB
active_anon:0kB inactive_anon:0kB active_file:888kB inactive_file:67o
[    7.217276] lowmem_reserve[]: 0 0 0
[    7.220815] Normal: 2*4kB (UR) 17*8kB (UR) 0*16kB 0*32kB 0*64kB
0*128kB 1*256kB (R) 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3472kB
[    7.233210] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 3B
[    7.246393] 1908 total pagecache pages
[    7.250151] 0 pages in swap cache
[    7.253479] Swap cache stats: add 0, delete 0, find 0/0
[    7.258715] Free swap  = 0kB
[    7.261601] Total swap = 0kB
[    7.314368] 983040 pages of RAM
[    7.317519] 788035 free pages
[    7.320492] 9755 reserved pages
[    7.323648] 182493 slab pages
[    7.326621] 4 pages shared
[    7.329333] 0 pages swap cached
[    7.332183] ata3: SATA link down (SStatus 0 SControl F300)
[    7.337980] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds
swapents oom_score_adj name
[    7.346544] Kernel panic - not syncing: Out of memory and no killable
processes...
---

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 14:24             ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 14:24 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 15:47, Russell King - ARM Linux ?????:
>> [    6.857113] vmalloc: mapping page ef7f12c0 (0x000efc16000) at 0xf00d4000
>> [    6.863845] vmalloc: mapping page ef7f12a0 (0x000efc15000) at 0xf00d5000
>> [    6.870567] Unhandled fault: external abort on non-linefetch (0x808)
>> at 0xf00d3018
> Yet it causes this.  I wonder if there's a conflict between DRAM and
> some other devices causing this, or maybe a stale TLB entry.
>
> The thing which makes me consider a stale TLB entry is that the mapping
> we're adding is for a WBWA cacheable mapping, which should cause line
> fetches.  The abort which is being raised is for a non-linefetch, a
> type of access which a WBWA cacheable mapping should never create.
>
> We can check whether it's a stale TLB entry - if you add a call to
> flush_tlb_all() after the call to vmalloc() in n_tty_open().  You
> may need to include <asm/tlbflush.h> to make that work - can you try
> that please.
Seems to be the same:
---
[    6.872592] vmalloc: mapping page ef7f0800 (0x000efbc0000) at 0xf00d3000
[    6.879309] vmalloc: mapping page ef7f0820 (0x000efbc1000) at 0xf00d4000
[    6.886040] vmalloc: mapping page ef7f0840 (0x000efbc2000) at 0xf00d5000
[    6.892762] flush_tlb_all() called here
[    6.896611] Unhandled fault: external abort on non-linefetch (0x808)
at 0xf00d3018
[    6.903717]  sda: sda1 sda2 sda3
[    6.907429] pgd = c0004000
[    6.910141] [f00d3018] *pgd=2d404811, *pte=efbc065f, *ppte=efbc045f
[    6.916461] Internal error: : 808 [#1] SMP ARM
---

However, while testing, I've suddenly got another crash happened
a bit earlier than the previous one used to happen: (OOM? How??)
---
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP 5
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a45391]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a45391],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x0
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6144(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K )
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000259] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090071] pid_max: default: 32768 minimum: 301
[    0.090141] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090395] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090418] ok
[    0.090521] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090870] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091060] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091144] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091802] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180270] Booting CPU 2
[    0.220066] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220262] Booting CPU 3
[    0.260066] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260107] Brought up 4 CPUs
[    0.260115] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260119] CPU: All CPU(s) started in SVC mode.
[    0.260386] devtmpfs: initialized
[    0.260709] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260880] pinctrl core: initialized pinctrl subsystem
[    0.262833] NET: Registered protocol family 16
[    0.263006] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263011] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263016] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263020] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263024] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263028] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263032] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263036] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263041] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263045] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263049] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263053] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263057] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263061] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263065] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263070] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263074] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263078] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263082] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263086] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263090] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263094] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263098] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263103] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263107] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263111] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263115] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263119] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263123] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263127] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263131] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263136] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263140] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263144] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263148] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263152] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263156] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263160] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263164] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263169] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263173] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263177] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263181] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263185] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263189] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263193] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263197] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263202] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263206] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263210] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263214] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263218] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263222] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263226] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263230] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263235] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263239] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263243] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263247] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263251] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263255] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263259] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263263] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263267] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263273] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.300043] cpuidle: using governor ladder
[    0.350041] cpuidle: using governor menu
[    0.390332] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.390339] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.390343] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.390348] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.390352] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.390356] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.390361] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.390365] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.390369] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.390373] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.390378] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.390382] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.390680] vgaarb: loaded
[    0.390825] SCSI subsystem initialized
[    0.391127] usbcore: registered new interface driver usbfs
[    0.391170] usbcore: registered new interface driver hub
[    0.391216] usbcore: registered new device driver usb
[    0.391455] Advanced Linux Sound Architecture Driver Initialized.
[    0.391774] Bluetooth: Core ver 2.20
[    0.391801] NET: Registered protocol family 31
[    0.391806] Bluetooth: HCI device and connection manager initialized
[    0.391814] Bluetooth: HCI socket layer initialized
[    0.391821] Bluetooth: L2CAP socket layer initialized
[    0.391838] Bluetooth: SCO socket layer initialized
[    0.392029] cfg80211: Calling CRDA to update world regulatory domain
[    0.392158] Switched to clocksource armada_370_xp_clocksource
[    0.398730] NET: Registered protocol family 2
[    0.399051] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.399090] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.399142] TCP: Hash tables configured (established 8192 bind 8192)
[    0.399175] TCP: reno registered
[    0.399184] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.399204] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.399311] NET: Registered protocol family 1
[    0.399473] RPC: Registered named UNIX socket transport module.
[    0.399478] RPC: Registered udp transport module.
[    0.399482] RPC: Registered tcp transport module.
[    0.399486] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.399602] Unpacking initramfs...
[    0.505641] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.506543] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.507145] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.507155] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.507160] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.507165] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.507169] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.507173] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.507178] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.507182] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.507186] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.507190] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.507195] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.507199] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.507586] bounce: pool size: 64 pages
[    0.507628] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.507640] io scheduler noop registered
[    0.507648] io scheduler deadline registered
[    0.507675] io scheduler cfq registered (default)
[    0.508386] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.508738] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.508954] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.509087] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.509436] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.509446] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.509453] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.509460] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.509835] PCI: bus0: Fast back to back transfers disabled
[    0.509844] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509852] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509859] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.509941] PCI: bus1: Fast back to back transfers enabled
[    0.510338] PCI: bus2: Fast back to back transfers disabled
[    0.510426] PCI: bus3: Fast back to back transfers enabled
[    0.510489] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.510497] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.510509] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.510527] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.510543] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.510549] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.510556] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.510563] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.510671] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.542214] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.582202] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.582288] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.622202] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.662201] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.696278] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.697373] console [ttyS0] disabled
[    0.717604] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.885177] console [ttyS0] enabled
[    2.909702] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.940777] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.970730] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.980393] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.986095] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.992704] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.282170] scsi host0: mvsas
[    6.467033] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.473503] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.483523] ata1.00: configured for UDMA/133
[    6.502604] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.511657] sata_mv f10a0000.sata: slots 32 ports 2
[    6.512263] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.512268] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.512384] sd 0:0:0:0: [sda] Write Protect is off
[    6.512442] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.522502] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf009e000
[    6.522505] vmalloc: mapping page ef7f0440 (0x000efba2000) at 0xf009f000
[    6.522508] vmalloc: mapping page ef7f0460 (0x000efba3000) at 0xf00a0000
[    6.522510] vmalloc: mapping page ef7f0480 (0x000efba4000) at 0xf00a1000
[    6.522512] vmalloc: mapping page ef7f04a0 (0x000efba5000) at 0xf00a2000
[    6.522514] vmalloc: mapping page ef7f04c0 (0x000efba6000) at 0xf00a3000
[    6.522516] vmalloc: mapping page ef7f04e0 (0x000efba7000) at 0xf00a4000
[    6.522519] vmalloc: mapping page ef7f0500 (0x000efba8000) at 0xf00a5000
[    6.538641]  sda: sda1 sda2 sda3
[    6.601155] scsi host1: sata_mv
[    6.604557] scsi host2: sata_mv
[    6.607849] ata2: SATA max UDMA/133 irq 30
[    6.611958] ata3: SATA max UDMA/133 irq 30
[    6.616502] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.624077] nand: second ID read did not match 00,28 against 00,20
[    6.630272] nand: No NAND device found
[    6.634044] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.646259] request_module: runaway loop modprobe binfmt-0000
[    6.653829] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.664246] request_module: runaway loop modprobe binfmt-0000
[    6.672883] libphy: orion_mdio_bus: probed
[    6.678615] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.687691] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.696796] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.705899] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.714550] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.721099] ehci-pci: EHCI PCI platform driver
[    6.725609] ehci-orion: EHCI orion driver
[    6.729725] orion-ehci f1050000.usb: EHCI Host Controller
[    6.735168] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.742842] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.762173] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.768603] hub 1-0:1.0: USB hub found
[    6.772402] hub 1-0:1.0: 1 port detected
[    6.776609] orion-ehci f1051000.usb: EHCI Host Controller
[    6.782034] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.789710] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.812183] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.818183] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0
[    6.826058] CPU: 3 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.834094] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.839960] [<c0014ca4>] (unwind_backtrace) from [<c0010e34>]
(show_stack+0x10/0x14)
[    6.847743] [<c0010e34>] (show_stack) from [<c04c9d64>]
(dump_stack+0x6c/0x88)
[    6.855006] [<c04c9d64>] (dump_stack) from [<c04c8e18>]
(dump_header.isra.12+0x90/0x1b0)
[    6.863137] [<c04c8e18>] (dump_header.isra.12) from [<c007f3ec>]
(__out_of_memory.isra.15+0x318/0x340)
[    6.872482] [<c007f3ec>] (__out_of_memory.isra.15) from [<c007f5c4>]
(out_of_memory+0x40/0x5c)
[    6.881120] [<c007f5c4>] (out_of_memory) from [<c0082efc>]
(__alloc_pages_nodemask+0x604/0x644)
[    6.889857] [<c0082efc>] (__alloc_pages_nodemask) from [<c00b150c>]
(cache_alloc_refill+0x350/0x580)
[    6.899027] [<c00b150c>] (cache_alloc_refill) from [<c00b18d0>]
(__kmalloc+0xac/0xe8)
[    6.906895] [<c00b18d0>] (__kmalloc) from [<c02fff18>]
(usb_hcd_submit_urb+0x1f8/0x850)
[    6.914933] [<c02fff18>] (usb_hcd_submit_urb) from [<c03024ac>]
(usb_start_wait_urb+0x44/0xbc)
[    6.923576] [<c03024ac>] (usb_start_wait_urb) from [<c03026d4>]
(usb_control_msg+0xa0/0xc4)
[    6.931951] [<c03026d4>] (usb_control_msg) from [<c0302bf4>]
(usb_get_descriptor+0x70/0xc4)
[    6.940331] [<c0302bf4>] (usb_get_descriptor) from [<c0302d24>]
(usb_get_device_descriptor+0x50/0x80)
[    6.949592] [<c0302d24>] (usb_get_device_descriptor) from
[<c02ff3f8>] (usb_add_hcd+0x37c/0x788)
[    6.958410] [<c02ff3f8>] (usb_add_hcd) from [<c031a074>]
(ehci_orion_drv_probe+0x2f4/0x480)
[    6.966795] [<c031a074>] (ehci_orion_drv_probe) from [<c0231308>]
(platform_drv_probe+0x48/0x98)
[    6.975612] [<c0231308>] (platform_drv_probe) from [<c022fecc>]
(driver_probe_device+0x114/0x234)
[    6.982182] ata2: SATA link down (SStatus 0 SControl F300)
[    6.990010] [<c022fecc>] (driver_probe_device) from [<c0230078>]
(__driver_attach+0x8c/0x90)
[    6.998477] [<c0230078>] (__driver_attach) from [<c022e880>]
(bus_for_each_dev+0x54/0x88)
[    7.006683] [<c022e880>] (bus_for_each_dev) from [<c022f6d0>]
(bus_add_driver+0xd8/0x1cc)
[    7.014889] [<c022f6d0>] (bus_add_driver) from [<c02306b8>]
(driver_register+0x78/0xf4)
[    7.022922] [<c02306b8>] (driver_register) from [<c0008a64>]
(do_one_initcall+0x80/0x1d0)
[    7.031127] [<c0008a64>] (do_one_initcall) from [<c0655d3c>]
(kernel_init_freeable+0x108/0x1d4)
[    7.039858] [<c0655d3c>] (kernel_init_freeable) from [<c04c68a8>]
(kernel_init+0x8/0xe4)
[    7.047978] [<c04c68a8>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    7.055570] Mem-info:
[    7.057847] Normal per-cpu:
[    7.060647] CPU    0: hi:  186, btch:  31 usd:  42
[    7.065454] CPU    1: hi:  186, btch:  31 usd:  41
[    7.070255] CPU    2: hi:  186, btch:  31 usd:  40
[    7.075062] CPU    3: hi:  186, btch:  31 usd: 174
[    7.079863] HighMem per-cpu:
[    7.082754] CPU    0: hi:  186, btch:  31 usd:  19
[    7.087556] CPU    1: hi:  186, btch:  31 usd:  31
[    7.092363] CPU    2: hi:  186, btch:  31 usd:  62
[    7.097165] CPU    3: hi:  186, btch:  31 usd:   2
[    7.101972] active_anon:0 inactive_anon:0 isolated_anon:0
[    7.101972]  active_file:222 inactive_file:1682 isolated_file:0
[    7.101972]  unevictable:0 dirty:0 writeback:0 unstable:0
[    7.101972]  free:787313 slab_reclaimable:104 slab_unreclaimable:182486
[    7.101972]  mapped:0 shmem:0 pagetables:0 bounce:0
[    7.101972]  free_cma:0
[    7.132650] Normal free:3392kB min:3436kB low:4292kB high:5152kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unes
[    7.172882] lowmem_reserve[]: 0 24640 24640
[    7.177127] HighMem free:3145860kB min:512kB low:4176kB high:7840kB
active_anon:0kB inactive_anon:0kB active_file:888kB inactive_file:67o
[    7.217276] lowmem_reserve[]: 0 0 0
[    7.220815] Normal: 2*4kB (UR) 17*8kB (UR) 0*16kB 0*32kB 0*64kB
0*128kB 1*256kB (R) 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3472kB
[    7.233210] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 3B
[    7.246393] 1908 total pagecache pages
[    7.250151] 0 pages in swap cache
[    7.253479] Swap cache stats: add 0, delete 0, find 0/0
[    7.258715] Free swap  = 0kB
[    7.261601] Total swap = 0kB
[    7.314368] 983040 pages of RAM
[    7.317519] 788035 free pages
[    7.320492] 9755 reserved pages
[    7.323648] 182493 slab pages
[    7.326621] 4 pages shared
[    7.329333] 0 pages swap cached
[    7.332183] ata3: SATA link down (SStatus 0 SControl F300)
[    7.337980] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds
swapents oom_score_adj name
[    7.346544] Kernel panic - not syncing: Out of memory and no killable
processes...
---

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 13:14     ` Russell King - ARM Linux
@ 2015-03-11 14:33       ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 14:33 UTC (permalink / raw)
  To: Russell King - ARM Linux, Gregory CLEMENT
  Cc: Andrew Morton, Linux kernel, linux-arm-kernel

11.03.2015 16:14, Russell King - ARM Linux пишет:
> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>> Hi Stas,
>>
>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>> I am really surprised by this patch because I used the Armada XP based
>> board in a daily base and I never saw this issue.
> Can you provide some details about your board - does it have 8GB of
> memory, ranging from 0-0xf0000000, and 4G-8G ?
Yes, there should be 8G, here's the boot log from marvell kernel
that boots fine and works fine:

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.58-1-armadaxp (root@host-010-100) (gcc
version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #0 SMP Thu Dec 18 124
[    0.000000] CPU: Marvell - PJ4Bv7 Processor [562f5842] revision 2
(ARMv7), cr=30c73c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine: Marvell Armada XP GP Board
[    0.000000] Using UBoot passing parameters structure
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Reserving training memory: base=0x  (null) size=0x2800
[    0.000000] Reserving training memory: base=0x80000000 size=0x2800
[    0.000000] Reserving training memory: base=0xc0000000 size=0x2800
[    0.000000] Reserving training memory: base=0xe0000000 size=0x2800
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0x1f0000000
[    0.000000]  memory.cnt  = 0x2
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000 bytes
[    0.000000]  reserved.cnt  = 0x7
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes
[    0.000000]  reserved[0x1]   [0x00000000003000-0x00000000007fff],
0x5000 bytes
[    0.000000]  reserved[0x2]   [0x000000000081e0-0x000000009ef02f],
0x9e6e50 bytes
[    0.000000]  reserved[0x3]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes
[    0.000000]  reserved[0x4]   [0x00000080000000-0x000000800027ff],
0x2800 bytes
[    0.000000]  reserved[0x5]   [0x000000c0000000-0x000000c00027ff],
0x2800 bytes
[    0.000000]  reserved[0x6]   [0x000000e0000000-0x000000e00027ff],
0x2800 bytes
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] SMP: init cpus
[    0.000000] PERCPU: Embedded 7 pages/cpu @c5442000 s7104 r8192 d13376
u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 2015232
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] allocated 33554432 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't
want memory cgroups
[    0.000000] Memory: 3840MB 4096MB = 7936MB total
[    0.000000] Memory: 8015704k/8015704k available, 110760k reserved,
7299036K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf3000000 - 0xfa800000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf2800000   ( 808 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc08b4000   (8880 kB)
[    0.000000]       .init : 0xc08b4000 - 0xc08fabc0   ( 283 kB)
[    0.000000]       .data : 0xc08fc000 - 0xc0948a20   ( 307 kB)
[    0.000000]        .bss : 0xc0948a44 - 0xc09ef030   ( 666 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:211
[    0.000000] Initializing ArmadaXP SOC Timer 0
[    0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798ms
[  117.562527] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[  117.655298] pid_max: default: 32768 minimum: 301
[  117.660091] Security Framework initialized
[  117.664285] AppArmor: AppArmor initialized
[  117.668578] Mount-cache hash table entries: 512
[  117.673594] Initializing cgroup subsys cpuacct
[  117.678123] Initializing cgroup subsys memory
[  117.682584] Initializing cgroup subsys devices
[  117.687093] Initializing cgroup subsys freezer
[  117.691601] Initializing cgroup subsys net_cls
[  117.696117] Initializing cgroup subsys blkio
[  117.700528] CPU: Testing write buffer coherency: ok
[  117.705627] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[  117.711350] SMP: prepare CPUs (4 cores)
[  117.715539] Setting Clocks for secondary CPUs
[  117.720891] SMP: CPU 0 Waking up CPU 1
[  117.732639] CPU1: Booted secondary processor
[  117.772428] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[  117.772858] SMP: CPU 0 Waking up CPU 2
[  117.794638] CPU2: Booted secondary processor
[  117.832429] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[  117.832864] SMP: CPU 0 Waking up CPU 3
[  117.857151] CPU3: Booted secondary processor
[  117.892429] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[  117.892493] Brought up 4 CPUs
[  117.905580] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[  117.912745] devtmpfs: initialized
[  117.921130] xor: measuring software checksum speed
[  117.972401]    arm4regs  :  1544.800 MB/sec
[  118.022399]    8regs     :  1147.600 MB/sec
[  118.072399]    32regs    :  1472.000 MB/sec
[  118.076648] xor: using function: arm4regs (1544.800 MB/sec)
[  118.083158] print_constraints: dummy:
[  118.087341] NET: Registered protocol family 16
[  118.092028] ARMADA XP error handling module was loaded
[  118.098986] Aurora: Working in ARMv7 mode
[  118.103086] L0 cache Enabled
[  118.106038] Speculative Prefetch Disabled
[  118.110127] Aurora L2 Cache Enabled
[  118.113963] Support IO coherency.
[  118.220261]
[  118.221830]   Marvell Armada-XP RD-AXP-GP rev 1.0 Board -  Soc:
MV78460 B0 LE
[  118.229060]   Detected Tclk 250000000, SysClk 800000000, FabricClk
800000000, PClk 1600000000
[  118.237634]   LSP version: linux-3.2.58-2014_T2.0
[  118.242407]   Marvell Armada-XP Unique Device ID: 00196621A784C374
(UniqeID_val0: A784C374, UniqeID_val1: 00196621)
[  118.252880]
[  118.255972] Register platform device: mv_neta_port_0
[  118.261098] Register platform device: mv_neta_port_2
[  118.266868] registered dev#0 asa ehci_marvell
[  118.271569] Marvell USB EHCI Host controller #0: f20f4000
[  118.277140] registered dev#1 asa ehci_marvell
[  118.281838] Marvell USB EHCI Host controller #1: f2144e00
[  118.287402] registered dev#2 asa ehci_marvell
[  118.292100] Marvell USB EHCI Host controller #2: f2144c00
[  118.310312] bio: create slab <bio-0> at 0
[  118.482530] raid6: int32x1    182 MB/s
[  118.652535] raid6: int32x2    281 MB/s
[  118.822632] raid6: int32x4    265 MB/s
[  118.992396] raid6: int32x8    309 MB/s
[  118.996216] raid6: using algorithm int32x8 (309 MB/s)
[  119.002219] vgaarb: loaded
[  119.006888] SCSI subsystem initialized
[  119.011362] usbcore: registered new interface driver usbfs
[  119.017071] usbcore: registered new interface driver hub
[  119.022564] usbcore: registered new device driver usb
[  119.029036] NetLabel: Initializing
[  119.032565] NetLabel:  domain hash size = 128
[  119.036985] NetLabel:  protocols = UNLABELED CIPSOv4
[  119.042032] NetLabel:  unlabeled traffic allowed by default
[  119.047954] Switching to clocksource axp_clocksource
[  119.053160] FS-Cache: Loaded
[  119.056149] AppArmor: AppArmor Filesystem Enabled
[  119.062592] NET: Registered protocol family 2
[  119.067119] IP route cache hash table entries: 32768 (order: 5,
131072 bytes)
[  119.074573] TCP established hash table entries: 131072 (order: 8,
1048576 bytes)
[  119.082855] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[  119.089918] TCP: Hash tables configured (established 131072 bind 65536)
[  119.096594] TCP reno registered
[  119.099808] UDP hash table entries: 512 (order: 2, 16384 bytes)
[  119.105806] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[  119.112374] NET: Registered protocol family 1
[  119.116974] RPC: Registered named UNIX socket transport module.
[  119.122951] RPC: Registered udp transport module.
[  119.127726] RPC: Registered tcp transport module.
[  119.132492] RPC: Registered tcp NFSv4.1 backchannel transport module.
[  119.139102] Trying to unpack rootfs image as initramfs...
[  119.257367] Freeing initrd memory: 3260K
[  119.261366] PCI-E: Checking physical bus #0 (controller #8): Enabled
- Link UP
[  119.268817] PCI-E: Checking physical bus #1 (controller #9): Enabled
- No Link
[  119.276801] PCI: bus0: Fast back to back transfers disabled
[  119.282644] pci 0000:00:00.0: BAR 2: assigned [mem
0xf3000000-0xf303ffff 64bit]
[  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
[  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
0xf3040000-0xf305ffff 64bit]
[  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
[  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
0xf3060000-0xf306ffff pref]


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 14:33       ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 14:33 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 16:14, Russell King - ARM Linux ?????:
> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>> Hi Stas,
>>
>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>> I am really surprised by this patch because I used the Armada XP based
>> board in a daily base and I never saw this issue.
> Can you provide some details about your board - does it have 8GB of
> memory, ranging from 0-0xf0000000, and 4G-8G ?
Yes, there should be 8G, here's the boot log from marvell kernel
that boots fine and works fine:

[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.58-1-armadaxp (root at host-010-100) (gcc
version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #0 SMP Thu Dec 18 124
[    0.000000] CPU: Marvell - PJ4Bv7 Processor [562f5842] revision 2
(ARMv7), cr=30c73c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine: Marvell Armada XP GP Board
[    0.000000] Using UBoot passing parameters structure
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Reserving training memory: base=0x  (null) size=0x2800
[    0.000000] Reserving training memory: base=0x80000000 size=0x2800
[    0.000000] Reserving training memory: base=0xc0000000 size=0x2800
[    0.000000] Reserving training memory: base=0xe0000000 size=0x2800
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0x1f0000000
[    0.000000]  memory.cnt  = 0x2
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000 bytes
[    0.000000]  reserved.cnt  = 0x7
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes
[    0.000000]  reserved[0x1]   [0x00000000003000-0x00000000007fff],
0x5000 bytes
[    0.000000]  reserved[0x2]   [0x000000000081e0-0x000000009ef02f],
0x9e6e50 bytes
[    0.000000]  reserved[0x3]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes
[    0.000000]  reserved[0x4]   [0x00000080000000-0x000000800027ff],
0x2800 bytes
[    0.000000]  reserved[0x5]   [0x000000c0000000-0x000000c00027ff],
0x2800 bytes
[    0.000000]  reserved[0x6]   [0x000000e0000000-0x000000e00027ff],
0x2800 bytes
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] SMP: init cpus
[    0.000000] PERCPU: Embedded 7 pages/cpu @c5442000 s7104 r8192 d13376
u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 2015232
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] allocated 33554432 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't
want memory cgroups
[    0.000000] Memory: 3840MB 4096MB = 7936MB total
[    0.000000] Memory: 8015704k/8015704k available, 110760k reserved,
7299036K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf3000000 - 0xfa800000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf2800000   ( 808 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc08b4000   (8880 kB)
[    0.000000]       .init : 0xc08b4000 - 0xc08fabc0   ( 283 kB)
[    0.000000]       .data : 0xc08fc000 - 0xc0948a20   ( 307 kB)
[    0.000000]        .bss : 0xc0948a44 - 0xc09ef030   ( 666 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:211
[    0.000000] Initializing ArmadaXP SOC Timer 0
[    0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798ms
[  117.562527] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[  117.655298] pid_max: default: 32768 minimum: 301
[  117.660091] Security Framework initialized
[  117.664285] AppArmor: AppArmor initialized
[  117.668578] Mount-cache hash table entries: 512
[  117.673594] Initializing cgroup subsys cpuacct
[  117.678123] Initializing cgroup subsys memory
[  117.682584] Initializing cgroup subsys devices
[  117.687093] Initializing cgroup subsys freezer
[  117.691601] Initializing cgroup subsys net_cls
[  117.696117] Initializing cgroup subsys blkio
[  117.700528] CPU: Testing write buffer coherency: ok
[  117.705627] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[  117.711350] SMP: prepare CPUs (4 cores)
[  117.715539] Setting Clocks for secondary CPUs
[  117.720891] SMP: CPU 0 Waking up CPU 1
[  117.732639] CPU1: Booted secondary processor
[  117.772428] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[  117.772858] SMP: CPU 0 Waking up CPU 2
[  117.794638] CPU2: Booted secondary processor
[  117.832429] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[  117.832864] SMP: CPU 0 Waking up CPU 3
[  117.857151] CPU3: Booted secondary processor
[  117.892429] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[  117.892493] Brought up 4 CPUs
[  117.905580] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[  117.912745] devtmpfs: initialized
[  117.921130] xor: measuring software checksum speed
[  117.972401]    arm4regs  :  1544.800 MB/sec
[  118.022399]    8regs     :  1147.600 MB/sec
[  118.072399]    32regs    :  1472.000 MB/sec
[  118.076648] xor: using function: arm4regs (1544.800 MB/sec)
[  118.083158] print_constraints: dummy:
[  118.087341] NET: Registered protocol family 16
[  118.092028] ARMADA XP error handling module was loaded
[  118.098986] Aurora: Working in ARMv7 mode
[  118.103086] L0 cache Enabled
[  118.106038] Speculative Prefetch Disabled
[  118.110127] Aurora L2 Cache Enabled
[  118.113963] Support IO coherency.
[  118.220261]
[  118.221830]   Marvell Armada-XP RD-AXP-GP rev 1.0 Board -  Soc:
MV78460 B0 LE
[  118.229060]   Detected Tclk 250000000, SysClk 800000000, FabricClk
800000000, PClk 1600000000
[  118.237634]   LSP version: linux-3.2.58-2014_T2.0
[  118.242407]   Marvell Armada-XP Unique Device ID: 00196621A784C374
(UniqeID_val0: A784C374, UniqeID_val1: 00196621)
[  118.252880]
[  118.255972] Register platform device: mv_neta_port_0
[  118.261098] Register platform device: mv_neta_port_2
[  118.266868] registered dev#0 asa ehci_marvell
[  118.271569] Marvell USB EHCI Host controller #0: f20f4000
[  118.277140] registered dev#1 asa ehci_marvell
[  118.281838] Marvell USB EHCI Host controller #1: f2144e00
[  118.287402] registered dev#2 asa ehci_marvell
[  118.292100] Marvell USB EHCI Host controller #2: f2144c00
[  118.310312] bio: create slab <bio-0> at 0
[  118.482530] raid6: int32x1    182 MB/s
[  118.652535] raid6: int32x2    281 MB/s
[  118.822632] raid6: int32x4    265 MB/s
[  118.992396] raid6: int32x8    309 MB/s
[  118.996216] raid6: using algorithm int32x8 (309 MB/s)
[  119.002219] vgaarb: loaded
[  119.006888] SCSI subsystem initialized
[  119.011362] usbcore: registered new interface driver usbfs
[  119.017071] usbcore: registered new interface driver hub
[  119.022564] usbcore: registered new device driver usb
[  119.029036] NetLabel: Initializing
[  119.032565] NetLabel:  domain hash size = 128
[  119.036985] NetLabel:  protocols = UNLABELED CIPSOv4
[  119.042032] NetLabel:  unlabeled traffic allowed by default
[  119.047954] Switching to clocksource axp_clocksource
[  119.053160] FS-Cache: Loaded
[  119.056149] AppArmor: AppArmor Filesystem Enabled
[  119.062592] NET: Registered protocol family 2
[  119.067119] IP route cache hash table entries: 32768 (order: 5,
131072 bytes)
[  119.074573] TCP established hash table entries: 131072 (order: 8,
1048576 bytes)
[  119.082855] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[  119.089918] TCP: Hash tables configured (established 131072 bind 65536)
[  119.096594] TCP reno registered
[  119.099808] UDP hash table entries: 512 (order: 2, 16384 bytes)
[  119.105806] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[  119.112374] NET: Registered protocol family 1
[  119.116974] RPC: Registered named UNIX socket transport module.
[  119.122951] RPC: Registered udp transport module.
[  119.127726] RPC: Registered tcp transport module.
[  119.132492] RPC: Registered tcp NFSv4.1 backchannel transport module.
[  119.139102] Trying to unpack rootfs image as initramfs...
[  119.257367] Freeing initrd memory: 3260K
[  119.261366] PCI-E: Checking physical bus #0 (controller #8): Enabled
- Link UP
[  119.268817] PCI-E: Checking physical bus #1 (controller #9): Enabled
- No Link
[  119.276801] PCI: bus0: Fast back to back transfers disabled
[  119.282644] pci 0000:00:00.0: BAR 2: assigned [mem
0xf3000000-0xf303ffff 64bit]
[  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
[  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
0xf3040000-0xf305ffff 64bit]
[  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
[  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
0xf3060000-0xf306ffff pref]

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 13:14     ` Russell King - ARM Linux
@ 2015-03-11 15:01       ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 15:01 UTC (permalink / raw)
  To: Russell King - ARM Linux, Gregory CLEMENT; +Cc: Linux kernel, linux-arm-kernel

11.03.2015 16:14, Russell King - ARM Linux пишет:
> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>> Hi Stas,
>>
>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>> I am really surprised by this patch because I used the Armada XP based
>> board in a daily base and I never saw this issue.
> Can you provide some details about your board - does it have 8GB of
> memory, ranging from 0-0xf0000000, and 4G-8G ?
I wonder about this 256Mb memory hole.
There is only one dimm for whole 8Gb.
It seems 0xf000000-0xffffffff is used for PCI though:
---

0xf3000000-0xf303ffff 64bit]
[  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
[  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
0xf3040000-0xf305ffff 64bit]
[  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
[  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
0xf3060000-0xf306ffff pref]

---

Does this mean that the 256Mb of physical memory is
completely unaccessable on this board?

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 15:01       ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 15:01 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 16:14, Russell King - ARM Linux ?????:
> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>> Hi Stas,
>>
>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>
>> I am really surprised by this patch because I used the Armada XP based
>> board in a daily base and I never saw this issue.
> Can you provide some details about your board - does it have 8GB of
> memory, ranging from 0-0xf0000000, and 4G-8G ?
I wonder about this 256Mb memory hole.
There is only one dimm for whole 8Gb.
It seems 0xf000000-0xffffffff is used for PCI though:
---

0xf3000000-0xf303ffff 64bit]
[  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
[  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
0xf3040000-0xf305ffff 64bit]
[  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
[  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
0xf3060000-0xf306ffff pref]

---

Does this mean that the 256Mb of physical memory is
completely unaccessable on this board?

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 15:01       ` Stas Sergeev
@ 2015-03-11 15:13         ` Gregory CLEMENT
  -1 siblings, 0 replies; 88+ messages in thread
From: Gregory CLEMENT @ 2015-03-11 15:13 UTC (permalink / raw)
  To: Stas Sergeev, Russell King - ARM Linux; +Cc: Linux kernel, linux-arm-kernel

On 11/03/2015 16:01, Stas Sergeev wrote:
> 11.03.2015 16:14, Russell King - ARM Linux пишет:
>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>>> Hi Stas,
>>>
>>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>>
>>> I am really surprised by this patch because I used the Armada XP based
>>> board in a daily base and I never saw this issue.
>> Can you provide some details about your board - does it have 8GB of
>> memory, ranging from 0-0xf0000000, and 4G-8G ?
> I wonder about this 256Mb memory hole.

This is where the SoC registers are.

> There is only one dimm for whole 8Gb.
> It seems 0xf000000-0xffffffff is used for PCI though:
> ---
> 
> 0xf3000000-0xf303ffff 64bit]
> [  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
> 0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
> [  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
> 0xf3040000-0xf305ffff 64bit]
> [  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
> 0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
> [  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
> 0xf3060000-0xf306ffff pref]
> 
> ---
> 
> Does this mean that the 256Mb of physical memory is
> completely unaccessable on this board?
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 15:13         ` Gregory CLEMENT
  0 siblings, 0 replies; 88+ messages in thread
From: Gregory CLEMENT @ 2015-03-11 15:13 UTC (permalink / raw)
  To: linux-arm-kernel

On 11/03/2015 16:01, Stas Sergeev wrote:
> 11.03.2015 16:14, Russell King - ARM Linux ?????:
>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>>> Hi Stas,
>>>
>>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>>
>>> I am really surprised by this patch because I used the Armada XP based
>>> board in a daily base and I never saw this issue.
>> Can you provide some details about your board - does it have 8GB of
>> memory, ranging from 0-0xf0000000, and 4G-8G ?
> I wonder about this 256Mb memory hole.

This is where the SoC registers are.

> There is only one dimm for whole 8Gb.
> It seems 0xf000000-0xffffffff is used for PCI though:
> ---
> 
> 0xf3000000-0xf303ffff 64bit]
> [  119.290027] pci 0000:00:00.0: BAR 2: set to [mem
> 0xf3000000-0xf303ffff 64bit] (PCI address [0xf3000000-0xf303ffff])
> [  119.300509] pci 0000:00:00.0: BAR 0: assigned [mem
> 0xf3040000-0xf305ffff 64bit]
> [  119.307883] pci 0000:00:00.0: BAR 0: set to [mem
> 0xf3040000-0xf305ffff 64bit] (PCI address [0xf3040000-0xf305ffff])
> [  119.318367] pci 0000:00:00.0: BAR 6: assigned [mem
> 0xf3060000-0xf306ffff pref]
> 
> ---
> 
> Does this mean that the 256Mb of physical memory is
> completely unaccessable on this board?
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 15:13         ` Gregory CLEMENT
@ 2015-03-11 15:22           ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 15:22 UTC (permalink / raw)
  To: Gregory CLEMENT, Russell King - ARM Linux; +Cc: Linux kernel, linux-arm-kernel

11.03.2015 18:13, Gregory CLEMENT пишет:
> On 11/03/2015 16:01, Stas Sergeev wrote:
>> 11.03.2015 16:14, Russell King - ARM Linux пишет:
>>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>>>> Hi Stas,
>>>>
>>>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>>>
>>>> I am really surprised by this patch because I used the Armada XP based
>>>> board in a daily base and I never saw this issue.
>>> Can you provide some details about your board - does it have 8GB of
>>> memory, ranging from 0-0xf0000000, and 4G-8G ?
>> I wonder about this 256Mb memory hole.
> This is where the SoC registers are.
OK but it seems I am loosing this region of _physical_ memory:
---

[    0.000000]  memory size = 0x1f0000000
[    0.000000]  memory.cnt  = 0x2
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000 bytes

---

As you can see, memory size is 0x1f0000000 instead of 0x20000000.
Why 256Mb are lost?

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 15:22           ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 15:22 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 18:13, Gregory CLEMENT ?????:
> On 11/03/2015 16:01, Stas Sergeev wrote:
>> 11.03.2015 16:14, Russell King - ARM Linux ?????:
>>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
>>>> Hi Stas,
>>>>
>>>> On 10/03/2015 17:54, Stas Sergeev wrote:
>>>>> Hello, the patch below is needed for a successful boot on armada-xp.
>>>>>
>>>> I am really surprised by this patch because I used the Armada XP based
>>>> board in a daily base and I never saw this issue.
>>> Can you provide some details about your board - does it have 8GB of
>>> memory, ranging from 0-0xf0000000, and 4G-8G ?
>> I wonder about this 256Mb memory hole.
> This is where the SoC registers are.
OK but it seems I am loosing this region of _physical_ memory:
---

[    0.000000]  memory size = 0x1f0000000
[    0.000000]  memory.cnt  = 0x2
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000 bytes

---

As you can see, memory size is 0x1f0000000 instead of 0x20000000.
Why 256Mb are lost?

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 14:24             ` Stas Sergeev
@ 2015-03-11 16:30               ` Peter Hurley
  -1 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-11 16:30 UTC (permalink / raw)
  To: Stas Sergeev, Russell King - ARM Linux
  Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> However, while testing, I've suddenly got another crash happened
> a bit earlier than the previous one used to happen: (OOM? How??)
> ---

Probably related to these runaway modprobes.

> [    6.646259] request_module: runaway loop modprobe binfmt-0000
> [    6.653829] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
> [    6.664246] request_module: runaway loop modprobe binfmt-0000

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 16:30               ` Peter Hurley
  0 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-11 16:30 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> However, while testing, I've suddenly got another crash happened
> a bit earlier than the previous one used to happen: (OOM? How??)
> ---

Probably related to these runaway modprobes.

> [    6.646259] request_module: runaway loop modprobe binfmt-0000
> [    6.653829] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
> [    6.664246] request_module: runaway loop modprobe binfmt-0000

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 16:30               ` Peter Hurley
@ 2015-03-11 16:39                 ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 16:39 UTC (permalink / raw)
  To: Peter Hurley, Russell King - ARM Linux
  Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

11.03.2015 19:30, Peter Hurley пишет:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>> However, while testing, I've suddenly got another crash happened
>> a bit earlier than the previous one used to happen: (OOM? How??)
>> ---
> Probably related to these runaway modprobes.
Thanks, I'll dig into that.
Anyway, the log was obscured by linewraps, so re-posting full version
just in case.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP W
ed Mar 11 17:03:41 MSK 2015
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a45391]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a45391],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x6
0/0x90
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x3
0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6144(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K c
ma-reserved, 3153920K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000258] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090072] pid_max: default: 32768 minimum: 301
[    0.090141] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090396] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090418] ok
[    0.090520] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090869] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091059] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091143] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091797] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180268] Booting CPU 2
[    0.220066] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220261] Booting CPU 3
[    0.260066] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260108] Brought up 4 CPUs
[    0.260116] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260120] CPU: All CPU(s) started in SVC mode.
[    0.260387] devtmpfs: initialized
[    0.260713] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260885] pinctrl core: initialized pinctrl subsystem
[    0.262835] NET: Registered protocol family 16
[    0.263007] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263012] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263017] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263021] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263025] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263029] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263033] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263037] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263042] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263046] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263050] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263054] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263058] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263062] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263066] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263071] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263075] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263079] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263083] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263087] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263091] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263095] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263099] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263104] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263108] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263112] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263116] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263120] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263124] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263128] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263132] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263137] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263141] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263145] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263149] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263153] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263157] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263161] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263166] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263170] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263174] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263178] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263182] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263186] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263190] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263194] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263198] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263203] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263207] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263211] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263215] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263219] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263223] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263227] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263231] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263236] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263240] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263244] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263248] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263252] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263256] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263260] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263264] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263269] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263274] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290044] cpuidle: using governor ladder
[    0.330042] cpuidle: using governor menu
[    0.370266] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.370274] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.370278] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.370283] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.370287] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.370291] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.370296] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.370300] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.370304] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.370308] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.370313] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.370317] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.370683] vgaarb: loaded
[    0.370820] SCSI subsystem initialized
[    0.371152] usbcore: registered new interface driver usbfs
[    0.371193] usbcore: registered new interface driver hub
[    0.371232] usbcore: registered new device driver usb
[    0.371450] Advanced Linux Sound Architecture Driver Initialized.
[    0.371755] Bluetooth: Core ver 2.20
[    0.371780] NET: Registered protocol family 31
[    0.371785] Bluetooth: HCI device and connection manager initialized
[    0.371792] Bluetooth: HCI socket layer initialized
[    0.371799] Bluetooth: L2CAP socket layer initialized
[    0.371814] Bluetooth: SCO socket layer initialized
[    0.371971] cfg80211: Calling CRDA to update world regulatory domain
[    0.372138] Switched to clocksource armada_370_xp_clocksource
[    0.378079] NET: Registered protocol family 2
[    0.378397] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.378436] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.378488] TCP: Hash tables configured (established 8192 bind 8192)
[    0.378520] TCP: reno registered
[    0.378528] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.378554] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.378662] NET: Registered protocol family 1
[    0.378798] RPC: Registered named UNIX socket transport module.
[    0.378804] RPC: Registered udp transport module.
[    0.378808] RPC: Registered tcp transport module.
[    0.378812] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.378927] Unpacking initramfs...
[    0.484965] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.485868] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.486463] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.486474] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.486479] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.486484] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.486488] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.486492] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.486496] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.486501] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.486505] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.486509] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.486514] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.486518] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.486930] bounce: pool size: 64 pages
[    0.486972] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.486985] io scheduler noop registered
[    0.486993] io scheduler deadline registered
[    0.487022] io scheduler cfq registered (default)
[    0.487736] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.488086] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.488304] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.488441] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.488785] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.488796] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.488803] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.488811] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.489186] PCI: bus0: Fast back to back transfers disabled
[    0.489194] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489203] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489210] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489292] PCI: bus1: Fast back to back transfers enabled
[    0.489689] PCI: bus2: Fast back to back transfers disabled
[    0.489779] PCI: bus3: Fast back to back transfers enabled
[    0.489841] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.489849] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.489861] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.489879] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.489895] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.489901] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.489908] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.489915] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.490022] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.522191] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562180] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562267] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.602185] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.642179] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.676386] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.677474] console [ttyS0] disabled
[    0.697700] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.865238] console [ttyS0] enabled
[    2.889704] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.919707] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.949663] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.959257] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.964956] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.971478] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.262148] scsi host0: mvsas
[    6.447391] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.453858] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.463951] ata1.00: configured for UDMA/133
[    6.482574] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.491644] sata_mv f10a0000.sata: slots 32 ports 2
[    6.492241] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.492246] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.492363] sd 0:0:0:0: [sda] Write Protect is off
[    6.492421] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.502484] vmalloc: mapping page ef7f0260 (0x000efb93000) at 0xf009e000
[    6.502487] vmalloc: mapping page ef7f0280 (0x000efb94000) at 0xf009f000
[    6.502489] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00a0000
[    6.502491] vmalloc: mapping page ef7f0440 (0x000efba2000) at 0xf00a1000
[    6.502494] vmalloc: mapping page ef7f0460 (0x000efba3000) at 0xf00a2000
[    6.502496] vmalloc: mapping page ef7f0480 (0x000efba4000) at 0xf00a3000
[    6.502498] vmalloc: mapping page ef7f04a0 (0x000efba5000) at 0xf00a4000
[    6.502500] vmalloc: mapping page ef7f04c0 (0x000efba6000) at 0xf00a5000
[    6.521846]  sda: sda1 sda2 sda3
[    6.581135] scsi host1: sata_mv
[    6.584535] scsi host2: sata_mv
[    6.587822] ata2: SATA max UDMA/133 irq 30
[    6.591931] ata3: SATA max UDMA/133 irq 30
[    6.596478] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.604052] nand: second ID read did not match 00,28 against 00,20
[    6.610249] nand: No NAND device found
[    6.614027] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.626202] request_module: runaway loop modprobe binfmt-0000
[    6.633770] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.644198] request_module: runaway loop modprobe binfmt-0000
[    6.652842] libphy: orion_mdio_bus: probed
[    6.658600] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.667650] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.676727] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.685800] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.694466] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.701014] ehci-pci: EHCI PCI platform driver
[    6.705523] ehci-orion: EHCI orion driver
[    6.709641] orion-ehci f1050000.usb: EHCI Host Controller
[    6.715081] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.722751] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.742150] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.748568] hub 1-0:1.0: USB hub found
[    6.752370] hub 1-0:1.0: 1 port detected
[    6.756583] orion-ehci f1051000.usb: EHCI Host Controller
[    6.762009] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.769681] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.792148] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.798287] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0
[    6.806152] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.814231] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.820097] [<c0014ca4>] (unwind_backtrace) from [<c0010e34>]
(show_stack+0x10/0x14)
[    6.827877] [<c0010e34>] (show_stack) from [<c04c9d64>]
(dump_stack+0x6c/0x88)
[    6.835136] [<c04c9d64>] (dump_stack) from [<c04c8e18>]
(dump_header.isra.12+0x90/0x1b0)
[    6.843264] [<c04c8e18>] (dump_header.isra.12) from [<c007f3ec>]
(__out_of_memory.isra.15+0x318/0x340)
[    6.852606] [<c007f3ec>] (__out_of_memory.isra.15) from [<c007f5c4>]
(out_of_memory+0x40/0x5c)
[    6.861244] [<c007f5c4>] (out_of_memory) from [<c0082efc>]
(__alloc_pages_nodemask+0x604/0x644)
[    6.869976] [<c0082efc>] (__alloc_pages_nodemask) from [<c00b150c>]
(cache_alloc_refill+0x350/0x580)
[    6.879143] [<c00b150c>] (cache_alloc_refill) from [<c00b19a4>]
(kmem_cache_alloc+0x98/0xd4)
[    6.887614] [<c00b19a4>] (kmem_cache_alloc) from [<c01091b0>]
(__kernfs_new_node+0x38/0xa8)
[    6.895997] [<c01091b0>] (__kernfs_new_node) from [<c0109e00>]
(kernfs_new_node+0x1c/0x38)
[    6.904292] [<c0109e00>] (kernfs_new_node) from [<c010b420>]
(__kernfs_create_file+0x1c/0x90)
[    6.912848] [<c010b420>] (__kernfs_create_file) from [<c010bbfc>]
(sysfs_add_file_mode_ns+0xa4/0x198)
[    6.922094] [<c010bbfc>] (sysfs_add_file_mode_ns) from [<c010c6e0>]
(internal_create_group+0xdc/0x230)
[    6.931435] [<c010c6e0>] (internal_create_group) from [<c010c960>]
(sysfs_create_groups+0x48/0x7c)
[    6.940427] [<c010c960>] (sysfs_create_groups) from [<c022d9ac>]
(device_add+0x25c/0x4dc)
[    6.948637] [<c022d9ac>] (device_add) from [<c02fb730>]
(usb_new_device+0x1d0/0x34c)
[    6.952157] ata2: SATA link down (SStatus 0 SControl F300)
[    6.961906] [<c02fb730>] (usb_new_device) from [<c02ff514>]
(usb_add_hcd+0x498/0x788)
[    6.969765] [<c02ff514>] (usb_add_hcd) from [<c031a074>]
(ehci_orion_drv_probe+0x2f4/0x480)
[    6.978148] [<c031a074>] (ehci_orion_drv_probe) from [<c0231308>]
(platform_drv_probe+0x48/0x98)
[    6.986966] [<c0231308>] (platform_drv_probe) from [<c022fecc>]
(driver_probe_device+0x114/0x234)
[    6.995870] [<c022fecc>] (driver_probe_device) from [<c0230078>]
(__driver_attach+0x8c/0x90)
[    7.004339] [<c0230078>] (__driver_attach) from [<c022e880>]
(bus_for_each_dev+0x54/0x88)
[    7.012545] [<c022e880>] (bus_for_each_dev) from [<c022f6d0>]
(bus_add_driver+0xd8/0x1cc)
[    7.020746] [<c022f6d0>] (bus_add_driver) from [<c02306b8>]
(driver_register+0x78/0xf4)
[    7.028779] [<c02306b8>] (driver_register) from [<c0008a64>]
(do_one_initcall+0x80/0x1d0)
[    7.036992] [<c0008a64>] (do_one_initcall) from [<c0655d3c>]
(kernel_init_freeable+0x108/0x1d4)
[    7.045723] [<c0655d3c>] (kernel_init_freeable) from [<c04c68a8>]
(kernel_init+0x8/0xe4)
[    7.053849] [<c04c68a8>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    7.061436] Mem-info:
[    7.063720] Normal per-cpu:
[    7.066520] CPU    0: hi:  186, btch:  31 usd:  66
[    7.071321] CPU    1: hi:  186, btch:  31 usd:  85
[    7.076131] CPU    2: hi:  186, btch:  31 usd:  58
[    7.080932] CPU    3: hi:  186, btch:  31 usd: 173
[    7.085739] HighMem per-cpu:
[    7.088626] CPU    0: hi:  186, btch:  31 usd:  19
[    7.093434] CPU    1: hi:  186, btch:  31 usd:  62
[    7.098236] CPU    2: hi:  186, btch:  31 usd:   0
[    7.103044] CPU    3: hi:  186, btch:  31 usd:  33
[    7.107852] active_anon:0 inactive_anon:0 isolated_anon:0
[    7.107852]  active_file:221 inactive_file:1683 isolated_file:0
[    7.107852]  unevictable:0 dirty:0 writeback:0 unstable:0
[    7.107852]  free:787295 slab_reclaimable:101 slab_unreclaimable:182388
[    7.107852]  mapped:0 shmem:0 pagetables:0 bounce:0
[    7.107852]  free_cma:0
[    7.138530] Normal free:3320kB min:3436kB low:4292kB high:5152kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unev
ictable:0kB isolated(anon):0kB isolated(file):0kB present:778240kB
managed:739220kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
 slab_reclaimable:404kB slab_unreclaimable:729552kB kernel_stack:2544kB
pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0k
B pages_scanned:0 all_unreclaimable? yes
[    7.178764] lowmem_reserve[]: 0 24640 24640
[    7.183016] HighMem free:3145860kB min:512kB low:4176kB high:7840kB
active_anon:0kB inactive_anon:0kB active_file:884kB inactive_file:673
2kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:3153920kB managed:3153920kB mlocked:0kB dirty:0kB writeback:0kB
mapped:0kB
 shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0k
B pages_scanned:0 all_unreclaimable? no
[    7.223161] lowmem_reserve[]: 0 0 0
[    7.226698] Normal: 0*4kB 12*8kB (U) 2*16kB (U) 0*32kB 0*64kB 1*128kB
(R) 0*256kB 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3328kB
[    7.238909] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 31
45736kB
[    7.252093] 1908 total pagecache pages
[    7.255857] 0 pages in swap cache
[    7.259179] Swap cache stats: add 0, delete 0, find 0/0
[    7.264421] Free swap  = 0kB
[    7.267306] Total swap = 0kB
[    7.292175] ata3: SATA link down (SStatus 0 SControl F300)
[    7.319855] 983040 pages of RAM
[    7.323024] 788100 free pages
[    7.325998] 9755 reserved pages
[    7.329144] 182410 slab pages
[    7.332117] 0 pages shared
[    7.334835] 0 pages swap cached
[    7.337982] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds
swapents oom_score_adj name
[    7.346546] Kernel panic - not syncing: Out of memory and no killable
processes...


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 16:39                 ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 16:39 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 19:30, Peter Hurley ?????:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>> However, while testing, I've suddenly got another crash happened
>> a bit earlier than the previous one used to happen: (OOM? How??)
>> ---
> Probably related to these runaway modprobes.
Thanks, I'll dig into that.
Anyway, the log was obscured by linewraps, so re-posting full version
just in case.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP W
ed Mar 11 17:03:41 MSK 2015
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000001100040-0x0000000142fad3]
flags 0x0 arm_memblock_init+0x100/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a45391]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xf0000000 reserved size = 0xa32442
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x5
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a45391],
0x422a bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x00000001100040-0x0000000142fad3],
0x32fa94 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 31457280 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x6
0/0x90
[    0.000000] memblock_reserve: [0x0000002d9f9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9f6000-0x0000002d9f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 388 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcf03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002d9ea000-0x0000002d9f5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd40-0x0000002f7fcd5b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002d9defd8-0x0000002d9e9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf0c-0x0000002f7fcf24]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd24-0x0000002f7fcd3c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd0c-0x0000002f7fcd23]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc80-0x0000002f7fccd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc00-0x0000002f7fcc52]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 83 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcbd2]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002d9ddfc0-0x0000002d9defbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002d9dcfc0-0x0000002d9ddfbf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x3
0
[    0.000000] memblock_reserve: [0x0000002d9b4000-0x0000002d9dbfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9be000-0x0000002d9bdfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9c8000-0x0000002d9c7fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9d2000-0x0000002d9d1fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dc000-0x0000002d9dbfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @ed9b4000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcd00-0x0000002f7fcd03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002d9ddfc0-0x0000002d9defbf] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002d9dcfc0-0x0000002d9ddfbf] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 981520
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002d9ac000-0x0000002d9b3fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6144(37%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d9a8000-0x0000002d9abfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d928000-0x0000002d9a7fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002d8e8000-0x0000002d927fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3889876K/3932160K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 42284K reserved, 0K c
ma-reserved, 3153920K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000244] Console: colour dummy device 80x30
[    0.000258] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090072] pid_max: default: 32768 minimum: 301
[    0.090141] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090396] CPU: Testing write buffer coherency: vmalloc: mapping
page edfa13e0 (0x0002d41f000) at 0xf001e000
[    0.090411] vmalloc: mapping page edfa13e0 (0x0002d41f000) at 0xf0020000
[    0.090418] ok
[    0.090520] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090869] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091059] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091143] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091797] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180268] Booting CPU 2
[    0.220066] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220261] Booting CPU 3
[    0.260066] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260108] Brought up 4 CPUs
[    0.260116] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260120] CPU: All CPU(s) started in SVC mode.
[    0.260387] devtmpfs: initialized
[    0.260713] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260885] pinctrl core: initialized pinctrl subsystem
[    0.262835] NET: Registered protocol family 16
[    0.263007] vmalloc: mapping page edfa3800 (0x0002d540000) at 0xf002c000
[    0.263012] vmalloc: mapping page edfa3820 (0x0002d541000) at 0xf002d000
[    0.263017] vmalloc: mapping page edfa3840 (0x0002d542000) at 0xf002e000
[    0.263021] vmalloc: mapping page edfa3860 (0x0002d543000) at 0xf002f000
[    0.263025] vmalloc: mapping page edfa3880 (0x0002d544000) at 0xf0030000
[    0.263029] vmalloc: mapping page edfa38a0 (0x0002d545000) at 0xf0031000
[    0.263033] vmalloc: mapping page edfa38c0 (0x0002d546000) at 0xf0032000
[    0.263037] vmalloc: mapping page edfa38e0 (0x0002d547000) at 0xf0033000
[    0.263042] vmalloc: mapping page edfa3900 (0x0002d548000) at 0xf0034000
[    0.263046] vmalloc: mapping page edfa3920 (0x0002d549000) at 0xf0035000
[    0.263050] vmalloc: mapping page edfa3940 (0x0002d54a000) at 0xf0036000
[    0.263054] vmalloc: mapping page edfa3960 (0x0002d54b000) at 0xf0037000
[    0.263058] vmalloc: mapping page edfa3980 (0x0002d54c000) at 0xf0038000
[    0.263062] vmalloc: mapping page edfa39a0 (0x0002d54d000) at 0xf0039000
[    0.263066] vmalloc: mapping page edfa39c0 (0x0002d54e000) at 0xf003a000
[    0.263071] vmalloc: mapping page edfa39e0 (0x0002d54f000) at 0xf003b000
[    0.263075] vmalloc: mapping page edfa3a00 (0x0002d550000) at 0xf003c000
[    0.263079] vmalloc: mapping page edfa3a20 (0x0002d551000) at 0xf003d000
[    0.263083] vmalloc: mapping page edfa3a40 (0x0002d552000) at 0xf003e000
[    0.263087] vmalloc: mapping page edfa3a60 (0x0002d553000) at 0xf003f000
[    0.263091] vmalloc: mapping page edfa3a80 (0x0002d554000) at 0xf0040000
[    0.263095] vmalloc: mapping page edfa3aa0 (0x0002d555000) at 0xf0041000
[    0.263099] vmalloc: mapping page edfa3ac0 (0x0002d556000) at 0xf0042000
[    0.263104] vmalloc: mapping page edfa3ae0 (0x0002d557000) at 0xf0043000
[    0.263108] vmalloc: mapping page edfa3b00 (0x0002d558000) at 0xf0044000
[    0.263112] vmalloc: mapping page edfa3b20 (0x0002d559000) at 0xf0045000
[    0.263116] vmalloc: mapping page edfa3b40 (0x0002d55a000) at 0xf0046000
[    0.263120] vmalloc: mapping page edfa3b60 (0x0002d55b000) at 0xf0047000
[    0.263124] vmalloc: mapping page edfa3b80 (0x0002d55c000) at 0xf0048000
[    0.263128] vmalloc: mapping page edfa3ba0 (0x0002d55d000) at 0xf0049000
[    0.263132] vmalloc: mapping page edfa3bc0 (0x0002d55e000) at 0xf004a000
[    0.263137] vmalloc: mapping page edfa3be0 (0x0002d55f000) at 0xf004b000
[    0.263141] vmalloc: mapping page edfa3c00 (0x0002d560000) at 0xf004c000
[    0.263145] vmalloc: mapping page edfa3c20 (0x0002d561000) at 0xf004d000
[    0.263149] vmalloc: mapping page edfa3c40 (0x0002d562000) at 0xf004e000
[    0.263153] vmalloc: mapping page edfa3c60 (0x0002d563000) at 0xf004f000
[    0.263157] vmalloc: mapping page edfa3c80 (0x0002d564000) at 0xf0050000
[    0.263161] vmalloc: mapping page edfa3ca0 (0x0002d565000) at 0xf0051000
[    0.263166] vmalloc: mapping page edfa3cc0 (0x0002d566000) at 0xf0052000
[    0.263170] vmalloc: mapping page edfa3ce0 (0x0002d567000) at 0xf0053000
[    0.263174] vmalloc: mapping page edfa3d00 (0x0002d568000) at 0xf0054000
[    0.263178] vmalloc: mapping page edfa3d20 (0x0002d569000) at 0xf0055000
[    0.263182] vmalloc: mapping page edfa3d40 (0x0002d56a000) at 0xf0056000
[    0.263186] vmalloc: mapping page edfa3d60 (0x0002d56b000) at 0xf0057000
[    0.263190] vmalloc: mapping page edfa3d80 (0x0002d56c000) at 0xf0058000
[    0.263194] vmalloc: mapping page edfa3da0 (0x0002d56d000) at 0xf0059000
[    0.263198] vmalloc: mapping page edfa3dc0 (0x0002d56e000) at 0xf005a000
[    0.263203] vmalloc: mapping page edfa3de0 (0x0002d56f000) at 0xf005b000
[    0.263207] vmalloc: mapping page edfa3e00 (0x0002d570000) at 0xf005c000
[    0.263211] vmalloc: mapping page edfa3e20 (0x0002d571000) at 0xf005d000
[    0.263215] vmalloc: mapping page edfa3e40 (0x0002d572000) at 0xf005e000
[    0.263219] vmalloc: mapping page edfa3e60 (0x0002d573000) at 0xf005f000
[    0.263223] vmalloc: mapping page edfa3e80 (0x0002d574000) at 0xf0060000
[    0.263227] vmalloc: mapping page edfa3ea0 (0x0002d575000) at 0xf0061000
[    0.263231] vmalloc: mapping page edfa3ec0 (0x0002d576000) at 0xf0062000
[    0.263236] vmalloc: mapping page edfa3ee0 (0x0002d577000) at 0xf0063000
[    0.263240] vmalloc: mapping page edfa3f00 (0x0002d578000) at 0xf0064000
[    0.263244] vmalloc: mapping page edfa3f20 (0x0002d579000) at 0xf0065000
[    0.263248] vmalloc: mapping page edfa3f40 (0x0002d57a000) at 0xf0066000
[    0.263252] vmalloc: mapping page edfa3f60 (0x0002d57b000) at 0xf0067000
[    0.263256] vmalloc: mapping page edfa3f80 (0x0002d57c000) at 0xf0068000
[    0.263260] vmalloc: mapping page edfa3fa0 (0x0002d57d000) at 0xf0069000
[    0.263264] vmalloc: mapping page edfa3fc0 (0x0002d57e000) at 0xf006a000
[    0.263269] vmalloc: mapping page edfa3fe0 (0x0002d57f000) at 0xf006b000
[    0.263274] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290044] cpuidle: using governor ladder
[    0.330042] cpuidle: using governor menu
[    0.370266] vmalloc: mapping page ef7f1000 (0x000efc00000) at 0xfedd8000
[    0.370274] vmalloc: mapping page ef7f1020 (0x000efc01000) at 0xfedd9000
[    0.370278] vmalloc: mapping page ef7f1040 (0x000efc02000) at 0xfedda000
[    0.370283] vmalloc: mapping page ef7f1060 (0x000efc03000) at 0xfede2000
[    0.370287] vmalloc: mapping page ef7f1080 (0x000efc04000) at 0xfede3000
[    0.370291] vmalloc: mapping page ef7f10a0 (0x000efc05000) at 0xfede4000
[    0.370296] vmalloc: mapping page ef7f10c0 (0x000efc06000) at 0xfedec000
[    0.370300] vmalloc: mapping page ef7f10e0 (0x000efc07000) at 0xfeded000
[    0.370304] vmalloc: mapping page ef7f1100 (0x000efc08000) at 0xfedee000
[    0.370308] vmalloc: mapping page ef7f1120 (0x000efc09000) at 0xfedf6000
[    0.370313] vmalloc: mapping page ef7f1140 (0x000efc0a000) at 0xfedf7000
[    0.370317] vmalloc: mapping page ef7f1160 (0x000efc0b000) at 0xfedf8000
[    0.370683] vgaarb: loaded
[    0.370820] SCSI subsystem initialized
[    0.371152] usbcore: registered new interface driver usbfs
[    0.371193] usbcore: registered new interface driver hub
[    0.371232] usbcore: registered new device driver usb
[    0.371450] Advanced Linux Sound Architecture Driver Initialized.
[    0.371755] Bluetooth: Core ver 2.20
[    0.371780] NET: Registered protocol family 31
[    0.371785] Bluetooth: HCI device and connection manager initialized
[    0.371792] Bluetooth: HCI socket layer initialized
[    0.371799] Bluetooth: L2CAP socket layer initialized
[    0.371814] Bluetooth: SCO socket layer initialized
[    0.371971] cfg80211: Calling CRDA to update world regulatory domain
[    0.372138] Switched to clocksource armada_370_xp_clocksource
[    0.378079] NET: Registered protocol family 2
[    0.378397] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.378436] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.378488] TCP: Hash tables configured (established 8192 bind 8192)
[    0.378520] TCP: reno registered
[    0.378528] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.378554] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.378662] NET: Registered protocol family 1
[    0.378798] RPC: Registered named UNIX socket transport module.
[    0.378804] RPC: Registered udp transport module.
[    0.378808] RPC: Registered tcp transport module.
[    0.378812] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.378927] Unpacking initramfs...
[    0.484965] Freeing initrd memory: 3264K (c1100000 - c1430000)
[    0.485868] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.486463] vmalloc: mapping page ef7f0400 (0x000efba0000) at 0xfeddb000
[    0.486474] vmalloc: mapping page ef7f03e0 (0x000efb9f000) at 0xfeddc000
[    0.486479] vmalloc: mapping page ef7f03c0 (0x000efb9e000) at 0xfeddd000
[    0.486484] vmalloc: mapping page ef7f03a0 (0x000efb9d000) at 0xfede5000
[    0.486488] vmalloc: mapping page ef7f0380 (0x000efb9c000) at 0xfede6000
[    0.486492] vmalloc: mapping page ef7f0360 (0x000efb9b000) at 0xfede7000
[    0.486496] vmalloc: mapping page ef7f0340 (0x000efb9a000) at 0xfedef000
[    0.486501] vmalloc: mapping page ef7f0320 (0x000efb99000) at 0xfedf0000
[    0.486505] vmalloc: mapping page ef7f0300 (0x000efb98000) at 0xfedf1000
[    0.486509] vmalloc: mapping page ef7f02e0 (0x000efb97000) at 0xfedf9000
[    0.486514] vmalloc: mapping page ef7f02c0 (0x000efb96000) at 0xfedfa000
[    0.486518] vmalloc: mapping page ef7f02a0 (0x000efb95000) at 0xfedfb000
[    0.486930] bounce: pool size: 64 pages
[    0.486972] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.486985] io scheduler noop registered
[    0.486993] io scheduler deadline registered
[    0.487022] io scheduler cfq registered (default)
[    0.487736] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.488086] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.488304] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.488441] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.488785] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.488796] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.488803] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.488811] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.489186] PCI: bus0: Fast back to back transfers disabled
[    0.489194] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489203] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489210] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.489292] PCI: bus1: Fast back to back transfers enabled
[    0.489689] PCI: bus2: Fast back to back transfers disabled
[    0.489779] PCI: bus3: Fast back to back transfers enabled
[    0.489841] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.489849] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.489861] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.489879] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.489895] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.489901] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.489908] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.489915] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.490022] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.522191] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562180] mv_xor f1060900.xor: Marvell XOR: ( xor cpy )
[    0.562267] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.602185] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.642179] mv_xor f10f0900.xor: Marvell XOR: ( xor cpy )
[    0.676386] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.677474] console [ttyS0] disabled
[    0.697700] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.865238] console [ttyS0] enabled
[    2.889704] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.919707] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.949663] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.959257] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.964956] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.971478] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    6.262148] scsi host0: mvsas
[    6.447391] ata1.00: ATA-8: ST320LT007-9ZV142, 0002SDM1, max UDMA/133
[    6.453858] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    6.463951] ata1.00: configured for UDMA/133
[    6.482574] scsi 0:0:0:0: Direct-Access     ATA      ST320LT007-9ZV14
SDM1 PQ: 0 ANSI: 5
[    6.491644] sata_mv f10a0000.sata: slots 32 ports 2
[    6.492241] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320
GB/298 GiB)
[    6.492246] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    6.492363] sd 0:0:0:0: [sda] Write Protect is off
[    6.492421] sd 0:0:0:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[    6.502484] vmalloc: mapping page ef7f0260 (0x000efb93000) at 0xf009e000
[    6.502487] vmalloc: mapping page ef7f0280 (0x000efb94000) at 0xf009f000
[    6.502489] vmalloc: mapping page ef7f0420 (0x000efba1000) at 0xf00a0000
[    6.502491] vmalloc: mapping page ef7f0440 (0x000efba2000) at 0xf00a1000
[    6.502494] vmalloc: mapping page ef7f0460 (0x000efba3000) at 0xf00a2000
[    6.502496] vmalloc: mapping page ef7f0480 (0x000efba4000) at 0xf00a3000
[    6.502498] vmalloc: mapping page ef7f04a0 (0x000efba5000) at 0xf00a4000
[    6.502500] vmalloc: mapping page ef7f04c0 (0x000efba6000) at 0xf00a5000
[    6.521846]  sda: sda1 sda2 sda3
[    6.581135] scsi host1: sata_mv
[    6.584535] scsi host2: sata_mv
[    6.587822] ata2: SATA max UDMA/133 irq 30
[    6.591931] ata3: SATA max UDMA/133 irq 30
[    6.596478] pxa3xx-nand f10d0000.nand: This platform can't do DMA on
this device
[    6.604052] nand: second ID read did not match 00,28 against 00,20
[    6.610249] nand: No NAND device found
[    6.614027] pxa3xx-nand f10d0000.nand: failed to scan nand at cs 0
[    6.626202] request_module: runaway loop modprobe binfmt-0000
[    6.633770] m25p80 spi0.0: n25q128a13 (16384 Kbytes)
[    6.644198] request_module: runaway loop modprobe binfmt-0000
[    6.652842] libphy: orion_mdio_bus: probed
[    6.658600] mvneta f1070000.ethernet eth0: Using device tree mac
address 00:50:43:00:05:1e
[    6.667650] mvneta f1074000.ethernet eth1: Using device tree mac
address 00:50:43:00:05:1f
[    6.676727] mvneta f1030000.ethernet eth2: Using device tree mac
address 00:50:43:00:05:20
[    6.685800] mvneta f1034000.ethernet eth3: Using device tree mac
address 00:50:43:00:05:21
[    6.694466] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.701014] ehci-pci: EHCI PCI platform driver
[    6.705523] ehci-orion: EHCI orion driver
[    6.709641] orion-ehci f1050000.usb: EHCI Host Controller
[    6.715081] orion-ehci f1050000.usb: new USB bus registered, assigned
bus number 1
[    6.722751] orion-ehci f1050000.usb: irq 26, io mem 0xf1050000
[    6.742150] orion-ehci f1050000.usb: USB 2.0 started, EHCI 1.00
[    6.748568] hub 1-0:1.0: USB hub found
[    6.752370] hub 1-0:1.0: 1 port detected
[    6.756583] orion-ehci f1051000.usb: EHCI Host Controller
[    6.762009] orion-ehci f1051000.usb: new USB bus registered, assigned
bus number 2
[    6.769681] orion-ehci f1051000.usb: irq 27, io mem 0xf1051000
[    6.792148] orion-ehci f1051000.usb: USB 2.0 started, EHCI 1.00
[    6.798287] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0
[    6.806152] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.814231] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.820097] [<c0014ca4>] (unwind_backtrace) from [<c0010e34>]
(show_stack+0x10/0x14)
[    6.827877] [<c0010e34>] (show_stack) from [<c04c9d64>]
(dump_stack+0x6c/0x88)
[    6.835136] [<c04c9d64>] (dump_stack) from [<c04c8e18>]
(dump_header.isra.12+0x90/0x1b0)
[    6.843264] [<c04c8e18>] (dump_header.isra.12) from [<c007f3ec>]
(__out_of_memory.isra.15+0x318/0x340)
[    6.852606] [<c007f3ec>] (__out_of_memory.isra.15) from [<c007f5c4>]
(out_of_memory+0x40/0x5c)
[    6.861244] [<c007f5c4>] (out_of_memory) from [<c0082efc>]
(__alloc_pages_nodemask+0x604/0x644)
[    6.869976] [<c0082efc>] (__alloc_pages_nodemask) from [<c00b150c>]
(cache_alloc_refill+0x350/0x580)
[    6.879143] [<c00b150c>] (cache_alloc_refill) from [<c00b19a4>]
(kmem_cache_alloc+0x98/0xd4)
[    6.887614] [<c00b19a4>] (kmem_cache_alloc) from [<c01091b0>]
(__kernfs_new_node+0x38/0xa8)
[    6.895997] [<c01091b0>] (__kernfs_new_node) from [<c0109e00>]
(kernfs_new_node+0x1c/0x38)
[    6.904292] [<c0109e00>] (kernfs_new_node) from [<c010b420>]
(__kernfs_create_file+0x1c/0x90)
[    6.912848] [<c010b420>] (__kernfs_create_file) from [<c010bbfc>]
(sysfs_add_file_mode_ns+0xa4/0x198)
[    6.922094] [<c010bbfc>] (sysfs_add_file_mode_ns) from [<c010c6e0>]
(internal_create_group+0xdc/0x230)
[    6.931435] [<c010c6e0>] (internal_create_group) from [<c010c960>]
(sysfs_create_groups+0x48/0x7c)
[    6.940427] [<c010c960>] (sysfs_create_groups) from [<c022d9ac>]
(device_add+0x25c/0x4dc)
[    6.948637] [<c022d9ac>] (device_add) from [<c02fb730>]
(usb_new_device+0x1d0/0x34c)
[    6.952157] ata2: SATA link down (SStatus 0 SControl F300)
[    6.961906] [<c02fb730>] (usb_new_device) from [<c02ff514>]
(usb_add_hcd+0x498/0x788)
[    6.969765] [<c02ff514>] (usb_add_hcd) from [<c031a074>]
(ehci_orion_drv_probe+0x2f4/0x480)
[    6.978148] [<c031a074>] (ehci_orion_drv_probe) from [<c0231308>]
(platform_drv_probe+0x48/0x98)
[    6.986966] [<c0231308>] (platform_drv_probe) from [<c022fecc>]
(driver_probe_device+0x114/0x234)
[    6.995870] [<c022fecc>] (driver_probe_device) from [<c0230078>]
(__driver_attach+0x8c/0x90)
[    7.004339] [<c0230078>] (__driver_attach) from [<c022e880>]
(bus_for_each_dev+0x54/0x88)
[    7.012545] [<c022e880>] (bus_for_each_dev) from [<c022f6d0>]
(bus_add_driver+0xd8/0x1cc)
[    7.020746] [<c022f6d0>] (bus_add_driver) from [<c02306b8>]
(driver_register+0x78/0xf4)
[    7.028779] [<c02306b8>] (driver_register) from [<c0008a64>]
(do_one_initcall+0x80/0x1d0)
[    7.036992] [<c0008a64>] (do_one_initcall) from [<c0655d3c>]
(kernel_init_freeable+0x108/0x1d4)
[    7.045723] [<c0655d3c>] (kernel_init_freeable) from [<c04c68a8>]
(kernel_init+0x8/0xe4)
[    7.053849] [<c04c68a8>] (kernel_init) from [<c000e540>]
(ret_from_fork+0x14/0x34)
[    7.061436] Mem-info:
[    7.063720] Normal per-cpu:
[    7.066520] CPU    0: hi:  186, btch:  31 usd:  66
[    7.071321] CPU    1: hi:  186, btch:  31 usd:  85
[    7.076131] CPU    2: hi:  186, btch:  31 usd:  58
[    7.080932] CPU    3: hi:  186, btch:  31 usd: 173
[    7.085739] HighMem per-cpu:
[    7.088626] CPU    0: hi:  186, btch:  31 usd:  19
[    7.093434] CPU    1: hi:  186, btch:  31 usd:  62
[    7.098236] CPU    2: hi:  186, btch:  31 usd:   0
[    7.103044] CPU    3: hi:  186, btch:  31 usd:  33
[    7.107852] active_anon:0 inactive_anon:0 isolated_anon:0
[    7.107852]  active_file:221 inactive_file:1683 isolated_file:0
[    7.107852]  unevictable:0 dirty:0 writeback:0 unstable:0
[    7.107852]  free:787295 slab_reclaimable:101 slab_unreclaimable:182388
[    7.107852]  mapped:0 shmem:0 pagetables:0 bounce:0
[    7.107852]  free_cma:0
[    7.138530] Normal free:3320kB min:3436kB low:4292kB high:5152kB
active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unev
ictable:0kB isolated(anon):0kB isolated(file):0kB present:778240kB
managed:739220kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB
 slab_reclaimable:404kB slab_unreclaimable:729552kB kernel_stack:2544kB
pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0k
B pages_scanned:0 all_unreclaimable? yes
[    7.178764] lowmem_reserve[]: 0 24640 24640
[    7.183016] HighMem free:3145860kB min:512kB low:4176kB high:7840kB
active_anon:0kB inactive_anon:0kB active_file:884kB inactive_file:673
2kB unevictable:0kB isolated(anon):0kB isolated(file):0kB
present:3153920kB managed:3153920kB mlocked:0kB dirty:0kB writeback:0kB
mapped:0kB
 shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB
pagetables:0kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0k
B pages_scanned:0 all_unreclaimable? no
[    7.223161] lowmem_reserve[]: 0 0 0
[    7.226698] Normal: 0*4kB 12*8kB (U) 2*16kB (U) 0*32kB 0*64kB 1*128kB
(R) 0*256kB 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3328kB
[    7.238909] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 31
45736kB
[    7.252093] 1908 total pagecache pages
[    7.255857] 0 pages in swap cache
[    7.259179] Swap cache stats: add 0, delete 0, find 0/0
[    7.264421] Free swap  = 0kB
[    7.267306] Total swap = 0kB
[    7.292175] ata3: SATA link down (SStatus 0 SControl F300)
[    7.319855] 983040 pages of RAM
[    7.323024] 788100 free pages
[    7.325998] 9755 reserved pages
[    7.329144] 182410 slab pages
[    7.332117] 0 pages shared
[    7.334835] 0 pages swap cached
[    7.337982] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds
swapents oom_score_adj name
[    7.346546] Kernel panic - not syncing: Out of memory and no killable
processes...

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-10 16:54 ` Stas Sergeev
@ 2015-03-11 16:52   ` Thomas Petazzoni
  -1 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 16:52 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Andrew Morton, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas, Russell King - ARM Linux

Dear Stas Sergeev,

On Tue, 10 Mar 2015 19:54:22 +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.
> 
> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

No, this is not the right fix. The right fix is to upgrade your
bootloader to a non-buggy one.

Basically, the problem is that the memory information passed by the
bootloader to the kernel is not consistent with the MBus base address
which is the limit between RAM (below the MBus base address) and I/O
registers (above the MBus base address).

The bootloader tells the kernel that the RAM up to 0xf0000000 is
usable, but sets the MBus base address to 0xe0000000. So whenever the
kernel accesses 0xe0000000 -> 0xf0000000, it crashes, because you're
not hitting RAM but MBus windows (and there are most likely no MBus
window mapped in this space).

Since kmalloc() relies on the identity mapping, it happens to mainly
use pages at the beginning of the physical memory, which are OK. But
vmalloc() happens to start using pages at the end of the physical
memory (which are not part of the identity mapping), so that's why
you're seeing this on the first access to a vmalloc()ed area.

This problem has already been reported to Marvell and they have fixed
it in their U-Boot. Please upgrade your bootloader, since there is not
much the kernel can do about this: the bootloader is simply lying to
the kernel about the amount of memory that is accessible.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 16:52   ` Thomas Petazzoni
  0 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 16:52 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Stas Sergeev,

On Tue, 10 Mar 2015 19:54:22 +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM
> 
>  CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1 #3
>  Hardware name: Marvell Armada 370/XP (Device Tree)
>  task: ed41e800 ti: ed43e000 task.ti: ed43e000
>  PC is at _set_bit+0x28/0x50
>  LR is at n_tty_set_termios+0x328/0x358
>  pc : [<c01bc858>]    lr : [<c0207314>]    psr: 40000113
>  sp : ed43fd00  ip : 00000000  fp : 00000000
>  r10: 00000002  r9 : 00000000  r8 : ec930200
>  r7 : 00000000  r6 : f00ca018  r5 : f00ca000  r4 : ed69cc00
>  r3 : 00002000  r2 : 00002000  r1 : f00ca018  r0 : 00000000
>  Flags: nZcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
>  Control: 10c5387d  Table: 0000406a  DAC: 00000015
>  Process swapper/0 (pid: 1, stack limit = 0xed43e220)
> 
> The offending instruction in _set_bit() is "strex r0, r2, [r1]"
> For some reason the exclusive access instructions do not like the
> vmalloc() space... While there may be another fix to make them
> fine about vmalloc() space, it still looks like a good idea to
> use kmalloc() for allocating a small (sub-page) struct.
> 
> Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
> ---
>  drivers/tty/n_tty.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

No, this is not the right fix. The right fix is to upgrade your
bootloader to a non-buggy one.

Basically, the problem is that the memory information passed by the
bootloader to the kernel is not consistent with the MBus base address
which is the limit between RAM (below the MBus base address) and I/O
registers (above the MBus base address).

The bootloader tells the kernel that the RAM up to 0xf0000000 is
usable, but sets the MBus base address to 0xe0000000. So whenever the
kernel accesses 0xe0000000 -> 0xf0000000, it crashes, because you're
not hitting RAM but MBus windows (and there are most likely no MBus
window mapped in this space).

Since kmalloc() relies on the identity mapping, it happens to mainly
use pages at the beginning of the physical memory, which are OK. But
vmalloc() happens to start using pages at the end of the physical
memory (which are not part of the identity mapping), so that's why
you're seeing this on the first access to a vmalloc()ed area.

This problem has already been reported to Marvell and they have fixed
it in their U-Boot. Please upgrade your bootloader, since there is not
much the kernel can do about this: the bootloader is simply lying to
the kernel about the amount of memory that is accessible.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 16:52   ` Thomas Petazzoni
@ 2015-03-11 17:26     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 17:26 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Linux kernel, linux-arm-kernel, Gregory Clément,
	Catalin Marinas, Russell King - ARM Linux

11.03.2015 19:52, Thomas Petazzoni пишет:
> Dear Stas Sergeev,
> No, this is not the right fix. The right fix is to upgrade your
> bootloader to a non-buggy one.
>
> Basically, the problem is that the memory information passed by the
> bootloader to the kernel is not consistent with the MBus base address
> which is the limit between RAM (below the MBus base address) and I/O
> registers (above the MBus base address).
>
> The bootloader tells the kernel that the RAM up to 0xf0000000 is
> usable, but sets the MBus base address to 0xe0000000. So whenever the
> kernel accesses 0xe0000000 -> 0xf0000000, it crashes, because you're
> not hitting RAM but MBus windows (and there are most likely no MBus
> window mapped in this space).
>
> Since kmalloc() relies on the identity mapping, it happens to mainly
> use pages at the beginning of the physical memory, which are OK. But
> vmalloc() happens to start using pages at the end of the physical
> memory (which are not part of the identity mapping), so that's why
> you're seeing this on the first access to a vmalloc()ed area.
>
> This problem has already been reported to Marvell and they have fixed
> it in their U-Boot. Please upgrade your bootloader, since there is not
> much the kernel can do about this: the bootloader is simply lying to
> the kernel about the amount of memory that is accessible.
Hello Thomas, thanks for that info!

Is there a quick way to test that?
I used memmap=0x20000000$0xe0000000 but nothing changed...

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 17:26     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 17:26 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 19:52, Thomas Petazzoni ?????:
> Dear Stas Sergeev,
> No, this is not the right fix. The right fix is to upgrade your
> bootloader to a non-buggy one.
>
> Basically, the problem is that the memory information passed by the
> bootloader to the kernel is not consistent with the MBus base address
> which is the limit between RAM (below the MBus base address) and I/O
> registers (above the MBus base address).
>
> The bootloader tells the kernel that the RAM up to 0xf0000000 is
> usable, but sets the MBus base address to 0xe0000000. So whenever the
> kernel accesses 0xe0000000 -> 0xf0000000, it crashes, because you're
> not hitting RAM but MBus windows (and there are most likely no MBus
> window mapped in this space).
>
> Since kmalloc() relies on the identity mapping, it happens to mainly
> use pages at the beginning of the physical memory, which are OK. But
> vmalloc() happens to start using pages at the end of the physical
> memory (which are not part of the identity mapping), so that's why
> you're seeing this on the first access to a vmalloc()ed area.
>
> This problem has already been reported to Marvell and they have fixed
> it in their U-Boot. Please upgrade your bootloader, since there is not
> much the kernel can do about this: the bootloader is simply lying to
> the kernel about the amount of memory that is accessible.
Hello Thomas, thanks for that info!

Is there a quick way to test that?
I used memmap=0x20000000$0xe0000000 but nothing changed...

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 17:26     ` Stas Sergeev
@ 2015-03-11 17:46       ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 17:46 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
> Hello Thomas, thanks for that info!
> 
> Is there a quick way to test that?
> I used memmap=0x20000000$0xe0000000 but nothing changed...

Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 17:46       ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 17:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
> Hello Thomas, thanks for that info!
> 
> Is there a quick way to test that?
> I used memmap=0x20000000$0xe0000000 but nothing changed...

Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 17:46       ` Russell King - ARM Linux
@ 2015-03-11 17:56         ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 17:56 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

11.03.2015 20:46, Russell King - ARM Linux пишет:
> On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
>> Hello Thomas, thanks for that info!
>>
>> Is there a quick way to test that?
>> I used memmap=0x20000000$0xe0000000 but nothing changed...
> Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.
>
It doesn't look like it works as intended.
Got the crash below.
Please note the mappings beyond 0xe0000000, so I wonder if
the option worked as expected?

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP W
ed Mar 11 17:03:41 MSK 2015
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a4535d]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xe0000000 reserved size = 0x70297a
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000dfffffff],
0xe0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x4
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a4535d],
0x41f6 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 29360128 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x6
0/0x90
[    0.000000] memblock_reserve: [0x0000002dbf9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002dbf6000-0x0000002dbf8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 356 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcdc0-0x0000002f7fcf23]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002dbea000-0x0000002dbf5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcd9b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002dbdf040-0x0000002dbe9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcda4-0x0000002f7fcdbc]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd48-0x0000002f7fcd60]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd30-0x0000002f7fcd47]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fccc0-0x0000002f7fcd21]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc40-0x0000002f7fcca1]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcbc0-0x0000002f7fcc21]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002dbde040-0x0000002dbdf03f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002dbdd040-0x0000002dbde03f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x3
0
[    0.000000] memblock_reserve: [0x0000002dbb5000-0x0000002dbdcfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002dbbf000-0x0000002dbbefff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbc9000-0x0000002dbc8fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbd3000-0x0000002dbd2fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbdd000-0x0000002dbdcfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @edbb5000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcb83]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002dbde040-0x0000002dbdf03f] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbdd040-0x0000002dbde03f] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 915984
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug mem=0xe0000000
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002dbad000-0x0000002dbb4fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6336(38%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002dba9000-0x0000002dbacfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002db29000-0x0000002dba8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002dae9000-0x0000002db28fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3633048K/3670016K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 36968K reserved, 0K c
ma-reserved, 2891776K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000242] Console: colour dummy device 80x30
[    0.000258] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090072] pid_max: default: 32768 minimum: 301
[    0.090142] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090398] CPU: Testing write buffer coherency: vmalloc: mapping
page ee1a13e0 (0x0002d41f000) at 0xf001e000
[    0.090414] vmalloc: mapping page ee1a13e0 (0x0002d41f000) at 0xf0020000
[    0.090421] ok
[    0.090523] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090872] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091062] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091146] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091805] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180270] Booting CPU 2
[    0.220067] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220263] Booting CPU 3
[    0.260067] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260108] Brought up 4 CPUs
[    0.260116] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260120] CPU: All CPU(s) started in SVC mode.
[    0.260387] devtmpfs: initialized
[    0.260725] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260899] pinctrl core: initialized pinctrl subsystem
[    0.262846] NET: Registered protocol family 16
[    0.263024] vmalloc: mapping page ee1a3800 (0x0002d540000) at 0xf002c000
[    0.263030] vmalloc: mapping page ee1a3820 (0x0002d541000) at 0xf002d000
[    0.263034] vmalloc: mapping page ee1a3840 (0x0002d542000) at 0xf002e000
[    0.263039] vmalloc: mapping page ee1a3860 (0x0002d543000) at 0xf002f000
[    0.263043] vmalloc: mapping page ee1a3880 (0x0002d544000) at 0xf0030000
[    0.263047] vmalloc: mapping page ee1a38a0 (0x0002d545000) at 0xf0031000
[    0.263051] vmalloc: mapping page ee1a38c0 (0x0002d546000) at 0xf0032000
[    0.263055] vmalloc: mapping page ee1a38e0 (0x0002d547000) at 0xf0033000
[    0.263059] vmalloc: mapping page ee1a3900 (0x0002d548000) at 0xf0034000
[    0.263063] vmalloc: mapping page ee1a3920 (0x0002d549000) at 0xf0035000
[    0.263068] vmalloc: mapping page ee1a3940 (0x0002d54a000) at 0xf0036000
[    0.263072] vmalloc: mapping page ee1a3960 (0x0002d54b000) at 0xf0037000
[    0.263076] vmalloc: mapping page ee1a3980 (0x0002d54c000) at 0xf0038000
[    0.263080] vmalloc: mapping page ee1a39a0 (0x0002d54d000) at 0xf0039000
[    0.263084] vmalloc: mapping page ee1a39c0 (0x0002d54e000) at 0xf003a000
[    0.263088] vmalloc: mapping page ee1a39e0 (0x0002d54f000) at 0xf003b000
[    0.263092] vmalloc: mapping page ee1a3a00 (0x0002d550000) at 0xf003c000
[    0.263096] vmalloc: mapping page ee1a3a20 (0x0002d551000) at 0xf003d000
[    0.263101] vmalloc: mapping page ee1a3a40 (0x0002d552000) at 0xf003e000
[    0.263105] vmalloc: mapping page ee1a3a60 (0x0002d553000) at 0xf003f000
[    0.263109] vmalloc: mapping page ee1a3a80 (0x0002d554000) at 0xf0040000
[    0.263113] vmalloc: mapping page ee1a3aa0 (0x0002d555000) at 0xf0041000
[    0.263117] vmalloc: mapping page ee1a3ac0 (0x0002d556000) at 0xf0042000
[    0.263121] vmalloc: mapping page ee1a3ae0 (0x0002d557000) at 0xf0043000
[    0.263125] vmalloc: mapping page ee1a3b00 (0x0002d558000) at 0xf0044000
[    0.263130] vmalloc: mapping page ee1a3b20 (0x0002d559000) at 0xf0045000
[    0.263134] vmalloc: mapping page ee1a3b40 (0x0002d55a000) at 0xf0046000
[    0.263138] vmalloc: mapping page ee1a3b60 (0x0002d55b000) at 0xf0047000
[    0.263142] vmalloc: mapping page ee1a3b80 (0x0002d55c000) at 0xf0048000
[    0.263146] vmalloc: mapping page ee1a3ba0 (0x0002d55d000) at 0xf0049000
[    0.263150] vmalloc: mapping page ee1a3bc0 (0x0002d55e000) at 0xf004a000
[    0.263154] vmalloc: mapping page ee1a3be0 (0x0002d55f000) at 0xf004b000
[    0.263158] vmalloc: mapping page ee1a3c00 (0x0002d560000) at 0xf004c000
[    0.263163] vmalloc: mapping page ee1a3c20 (0x0002d561000) at 0xf004d000
[    0.263167] vmalloc: mapping page ee1a3c40 (0x0002d562000) at 0xf004e000
[    0.263171] vmalloc: mapping page ee1a3c60 (0x0002d563000) at 0xf004f000
[    0.263175] vmalloc: mapping page ee1a3c80 (0x0002d564000) at 0xf0050000
[    0.263179] vmalloc: mapping page ee1a3ca0 (0x0002d565000) at 0xf0051000
[    0.263183] vmalloc: mapping page ee1a3cc0 (0x0002d566000) at 0xf0052000
[    0.263187] vmalloc: mapping page ee1a3ce0 (0x0002d567000) at 0xf0053000
[    0.263191] vmalloc: mapping page ee1a3d00 (0x0002d568000) at 0xf0054000
[    0.263196] vmalloc: mapping page ee1a3d20 (0x0002d569000) at 0xf0055000
[    0.263200] vmalloc: mapping page ee1a3d40 (0x0002d56a000) at 0xf0056000
[    0.263204] vmalloc: mapping page ee1a3d60 (0x0002d56b000) at 0xf0057000
[    0.263208] vmalloc: mapping page ee1a3d80 (0x0002d56c000) at 0xf0058000
[    0.263212] vmalloc: mapping page ee1a3da0 (0x0002d56d000) at 0xf0059000
[    0.263216] vmalloc: mapping page ee1a3dc0 (0x0002d56e000) at 0xf005a000
[    0.263220] vmalloc: mapping page ee1a3de0 (0x0002d56f000) at 0xf005b000
[    0.263224] vmalloc: mapping page ee1a3e00 (0x0002d570000) at 0xf005c000
[    0.263228] vmalloc: mapping page ee1a3e20 (0x0002d571000) at 0xf005d000
[    0.263233] vmalloc: mapping page ee1a3e40 (0x0002d572000) at 0xf005e000
[    0.263237] vmalloc: mapping page ee1a3e60 (0x0002d573000) at 0xf005f000
[    0.263241] vmalloc: mapping page ee1a3e80 (0x0002d574000) at 0xf0060000
[    0.263245] vmalloc: mapping page ee1a3ea0 (0x0002d575000) at 0xf0061000
[    0.263249] vmalloc: mapping page ee1a3ec0 (0x0002d576000) at 0xf0062000
[    0.263253] vmalloc: mapping page ee1a3ee0 (0x0002d577000) at 0xf0063000
[    0.263257] vmalloc: mapping page ee1a3f00 (0x0002d578000) at 0xf0064000
[    0.263261] vmalloc: mapping page ee1a3f20 (0x0002d579000) at 0xf0065000
[    0.263266] vmalloc: mapping page ee1a3f40 (0x0002d57a000) at 0xf0066000
[    0.263270] vmalloc: mapping page ee1a3f60 (0x0002d57b000) at 0xf0067000
[    0.263274] vmalloc: mapping page ee1a3f80 (0x0002d57c000) at 0xf0068000
[    0.263278] vmalloc: mapping page ee1a3fa0 (0x0002d57d000) at 0xf0069000
[    0.263282] vmalloc: mapping page ee1a3fc0 (0x0002d57e000) at 0xf006a000
[    0.263286] vmalloc: mapping page ee1a3fe0 (0x0002d57f000) at 0xf006b000
[    0.263292] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290044] cpuidle: using governor ladder
[    0.330042] cpuidle: using governor menu
[    0.370314] vmalloc: mapping page ef7f1000 (0x000dfc00000) at 0xfedd8000
[    0.370321] vmalloc: mapping page ef7f1020 (0x000dfc01000) at 0xfedd9000
[    0.370326] vmalloc: mapping page ef7f1040 (0x000dfc02000) at 0xfedda000
[    0.370330] vmalloc: mapping page ef7f1060 (0x000dfc03000) at 0xfede2000
[    0.370335] vmalloc: mapping page ef7f1080 (0x000dfc04000) at 0xfede3000
[    0.370339] vmalloc: mapping page ef7f10a0 (0x000dfc05000) at 0xfede4000
[    0.370343] vmalloc: mapping page ef7f10c0 (0x000dfc06000) at 0xfedec000
[    0.370347] vmalloc: mapping page ef7f10e0 (0x000dfc07000) at 0xfeded000
[    0.370351] vmalloc: mapping page ef7f1100 (0x000dfc08000) at 0xfedee000
[    0.370356] vmalloc: mapping page ef7f1120 (0x000dfc09000) at 0xfedf6000
[    0.370360] vmalloc: mapping page ef7f1140 (0x000dfc0a000) at 0xfedf7000
[    0.370364] vmalloc: mapping page ef7f1160 (0x000dfc0b000) at 0xfedf8000
[    0.370637] vgaarb: loaded
[    0.370785] SCSI subsystem initialized
[    0.371076] usbcore: registered new interface driver usbfs
[    0.371117] usbcore: registered new interface driver hub
[    0.371157] usbcore: registered new device driver usb
[    0.371400] Advanced Linux Sound Architecture Driver Initialized.
[    0.371720] Bluetooth: Core ver 2.20
[    0.371746] NET: Registered protocol family 31
[    0.371751] Bluetooth: HCI device and connection manager initialized
[    0.371759] Bluetooth: HCI socket layer initialized
[    0.371766] Bluetooth: L2CAP socket layer initialized
[    0.371783] Bluetooth: SCO socket layer initialized
[    0.371949] cfg80211: Calling CRDA to update world regulatory domain
[    0.372091] Switched to clocksource armada_370_xp_clocksource
[    0.378642] NET: Registered protocol family 2
[    0.378962] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.379000] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.379053] TCP: Hash tables configured (established 8192 bind 8192)
[    0.379086] TCP: reno registered
[    0.379094] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.379113] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.379221] NET: Registered protocol family 1
[    0.379382] RPC: Registered named UNIX socket transport module.
[    0.379387] RPC: Registered udp transport module.
[    0.379391] RPC: Registered tcp transport module.
[    0.379395] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.380297] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.380870] vmalloc: mapping page ef7f13e0 (0x000dfc1f000) at 0xfeddb000
[    0.380879] vmalloc: mapping page ef7f1400 (0x000dfc20000) at 0xfeddc000
[    0.380884] vmalloc: mapping page ef7f1420 (0x000dfc21000) at 0xfeddd000
[    0.380889] vmalloc: mapping page ef7f1440 (0x000dfc22000) at 0xfede5000
[    0.380893] vmalloc: mapping page ef7f1460 (0x000dfc23000) at 0xfede6000
[    0.380897] vmalloc: mapping page ef7f1480 (0x000dfc24000) at 0xfede7000
[    0.380902] vmalloc: mapping page ef7f14a0 (0x000dfc25000) at 0xfedef000
[    0.380906] vmalloc: mapping page ef7f14c0 (0x000dfc26000) at 0xfedf0000
[    0.380910] vmalloc: mapping page ef7f14e0 (0x000dfc27000) at 0xfedf1000
[    0.380915] vmalloc: mapping page ef7f1500 (0x000dfc28000) at 0xfedf9000
[    0.380919] vmalloc: mapping page ef7f1520 (0x000dfc29000) at 0xfedfa000
[    0.380923] vmalloc: mapping page ef7f1540 (0x000dfc2a000) at 0xfedfb000
[    0.381311] bounce: pool size: 64 pages
[    0.381351] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.381363] io scheduler noop registered
[    0.381371] io scheduler deadline registered
[    0.381400] io scheduler cfq registered (default)
[    0.382125] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.382467] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.382679] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.382811] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.383152] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.383163] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.383171] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.383178] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.383549] PCI: bus0: Fast back to back transfers disabled
[    0.383557] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383566] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383573] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383655] PCI: bus1: Fast back to back transfers enabled
[    0.384050] PCI: bus2: Fast back to back transfers disabled
[    0.384138] PCI: bus3: Fast back to back transfers enabled
[    0.384200] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.384207] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.384219] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.384236] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.384252] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.384259] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.384265] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.384272] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.384379] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.402098] mv_xor f1060900.xor: Self-test copy failed compare, disabling
[    0.402165] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.422111] mv_xor f10f0900.xor: Self-test copy failed compare, disabling
[    0.456847] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.457913] console [ttyS0] disabled
[    0.477982] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.611752] console [ttyS0] enabled
[    2.635762] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.665671] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.695764] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.705352] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.711036] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.717199] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    5.962103] scsi host0: mvsas
[    6.122188] Unable to handle kernel NULL pointer dereference at
virtual address 000002d4
[    6.130298] pgd = c0004000
[    6.133022] [000002d4] *pgd=00000000
[    6.136617] Internal error: Oops: 5 [#1] SMP ARM
[    6.141244] Modules linked in:
[    6.144317] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.152600] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.158452] Workqueue: events_unbound async_run_entry_fn
[    6.163786] task: ed426c00 ti: ed452000 task.ti: ed452000
[    6.169196] PC is at 0x0
[    6.171734] LR is at 0xfafeff5c
[    6.174883] pc : [<00000000>]    lr : [<fafeff5c>]    psr: 00000000
[    6.174883] sp : ffd6d7ff  ip : 00000000  fp : 00000200
[    6.186388] r10: ed453d90  r9 : 00000001  r8 : 00000000
[    6.191624] r7 : ed5857c0  r6 : 00000000  r5 : ed80c60a  r4 : 00000000
[    6.198166] r3 : 76c06305  r2 : c200f010  r1 : 00000000  r0 : 00000000
[    6.204709] Flags: nzcv  IRQs on  FIQs on  Mode USER_26  ISA ARM 
Segment kernel
[    6.212121] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    6.217880] Process kworker/u8:0 (pid: 6, stack limit = 0xed452220)
[    6.224183] ---[ end trace 93bf56ab1670c925 ]---
[    6.228824] Unable to handle kernel NULL pointer dereference at
virtual address 000002d4


^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 17:56         ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 17:56 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 20:46, Russell King - ARM Linux ?????:
> On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
>> Hello Thomas, thanks for that info!
>>
>> Is there a quick way to test that?
>> I used memmap=0x20000000$0xe0000000 but nothing changed...
> Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.
>
It doesn't look like it works as intended.
Got the crash below.
Please note the mappings beyond 0xe0000000, so I wonder if
the option worked as expected?

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
(root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
#2 SMP W
ed Mar 11 17:03:41 MSK 2015
[    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
cache
[    0.000000] Machine model: Marvell Armada XP Development Board
DB-MV784MP-GP
[    0.000000] Ignoring memory block 0x100000000 - 0x200000000
[    0.000000] memblock_reserve: [0x00000000008280-0x00000000700203]
flags 0x0 arm_memblock_init+0x20/0x18c
[    0.000000] memblock_reserve: [0x00000000004000-0x00000000007fff]
flags 0x0 arm_memblock_init+0x124/0x18c
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000000000-0x000000000027ff]
flags 0x0 mvebu_scan_mem+0xa4/0xec
[    0.000000] memblock_reserve: [0x00000000a41168-0x00000000a4535d]
flags 0x0 early_init_fdt_scan_reserved_mem+0x30/0x88
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0xe0000000 reserved size = 0x70297a
[    0.000000]  memory.cnt  = 0x1
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000dfffffff],
0xe0000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0x4
[    0.000000]  reserved[0x0]   [0x00000000000000-0x000000000027ff],
0x2800 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x00000000004000-0x00000000007fff],
0x4000 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x00000000008280-0x00000000700203],
0x6f7f84 bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x00000000a41168-0x00000000a4535d],
0x41f6 bytes flags: 0x0
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] memblock_reserve: [0x0000002f7fe000-0x0000002f7fffff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fd000-0x0000002f7fdfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfd8-0x0000002f7fcfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fb000-0x0000002f7fbfff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fa000-0x0000002f7fafff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7f9000-0x0000002f7f9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 29360128 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 alloc_node_mem_map.constprop.66+0x6
0/0x90
[    0.000000] memblock_reserve: [0x0000002dbf9000-0x0000002f7f8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 96 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcf40-0x0000002f7fcf9f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 12288 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002dbf6000-0x0000002dbf8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 356 bytes align=0x0
nid=0 from=0x0 max_addr=0x0 free_area_init_node+0x2fc/0x3cc
[    0.000000] memblock_reserve: [0x0000002f7fcdc0-0x0000002f7fcf23]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 49152 bytes
align=0x0 nid=0 from=0x0 max_addr=0x0 zone_wait_table_init+0x80/0xf0
[    0.000000] memblock_reserve: [0x0000002dbea000-0x0000002dbf5fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 28 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 setup_arch+0x4d4/0x8b0
[    0.000000] memblock_reserve: [0x0000002f7fcd80-0x0000002f7fcd9b]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_reserve: [0x0000002dbdf040-0x0000002dbe9fff]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfc0-0x0000002f7fcfd7]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcfa8-0x0000002f7fcfbf]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcf28-0x0000002f7fcf3f]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcda4-0x0000002f7fcdbc]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd64-0x0000002f7fcd7c]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd48-0x0000002f7fcd60]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_reserve: [0x0000002f7fcd30-0x0000002f7fcd47]
flags 0x0 memblock_alloc_range_nid+0x30/0x44
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xb4/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fccc0-0x0000002f7fcd21]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xd8/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcc40-0x0000002f7fcca1]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 98 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 start_kernel+0xfc/0x3a8
[    0.000000] memblock_reserve: [0x0000002f7fcbc0-0x0000002f7fcc21]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_alloc_alloc_info+0x4c/0x8c
[    0.000000] memblock_reserve: [0x0000002dbde040-0x0000002dbdf03f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 4096 bytes align=0x0
nid=-1 from=0x0 max_addr=0x0 pcpu_embed_first_chunk+0x4f0/0x788
[    0.000000] memblock_reserve: [0x0000002dbdd040-0x0000002dbde03f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 163840 bytes
align=0x1000 nid=-1 from=0x3fffffff max_addr=0x0 pcpu_dfl_fc_alloc+0x28/0x3
0
[    0.000000] memblock_reserve: [0x0000002dbb5000-0x0000002dbdcfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002dbbf000-0x0000002dbbefff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbc9000-0x0000002dbc8fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbd3000-0x0000002dbd2fff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbdd000-0x0000002dbdcfff] pcpu_embed_first_chunk+0x608/0x788
[    0.000000] PERCPU: Embedded 10 pages/cpu @edbb5000 s11584 r8192
d21184 u40960
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0xec/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb80-0x0000002f7fcb83]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 4 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x10c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb40-0x0000002f7fcb43]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x12c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcb00-0x0000002f7fcb0f]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 16 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x14c/0x740
[    0.000000] memblock_reserve: [0x0000002f7fcac0-0x0000002f7fcacf]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 120 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x450/0x740
[    0.000000] memblock_reserve: [0x0000002f7fca40-0x0000002f7fcab7]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x498/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc9c0-0x0000002f7fca03]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] memblock_virt_alloc_try_nid: 68 bytes align=0x0 nid=-1
from=0x0 max_addr=0x0 pcpu_setup_first_chunk+0x5cc/0x740
[    0.000000] memblock_reserve: [0x0000002f7fc940-0x0000002f7fc983]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] __memblock_free_early:
[0x0000002dbde040-0x0000002dbdf03f] pcpu_embed_first_chunk+0x734/0x788
[    0.000000] __memblock_free_early:
[0x0000002dbdd040-0x0000002dbde03f] pcpu_embed_first_chunk+0x74c/0x788
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 915984
[    0.000000] Kernel command line: console=ttyS0,115200
earlyprintk=ttyS0 root=/dev/sda2 rw pm_disable memblock=debug mem=0xe0000000
[    0.000000] log_buf_len individual max cpu contribution: 4096 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 12288 bytes
[    0.000000] log_buf_len min size: 16384 bytes
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 32768 bytes
align=0x4 nid=-1 from=0x0 max_addr=0x0 setup_log_buf+0xf8/0x1d4
[    0.000000] memblock_reserve: [0x0000002dbad000-0x0000002dbb4fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] log_buf_len: 32768 bytes
[    0.000000] early log buf free: 6336(38%)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 16384 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002dba9000-0x0000002dbacfff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 524288 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002db29000-0x0000002dba8fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[    0.000000] memblock_virt_alloc_try_nid_nopanic: 262144 bytes
align=0x0 nid=-1 from=0x0 max_addr=0x0 alloc_large_system_hash+0x158/0x250
[    0.000000] memblock_reserve: [0x0000002dae9000-0x0000002db28fff]
flags 0x0 memblock_virt_alloc_internal+0x104/0x154
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[    0.000000] Memory: 3633048K/3670016K available (5068K kernel code,
241K rwdata, 1380K rodata, 252K init, 190K bss, 36968K reserved, 0K c
ma-reserved, 2891776K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc06543d0   (6449 kB)
[    0.000000]       .init : 0xc0655000 - 0xc0694000   ( 252 kB)
[    0.000000]       .data : 0xc0694000 - 0xc06d0740   ( 242 kB)
[    0.000000]        .bss : 0xc06d0740 - 0xc0700204   ( 191 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] Aurora cache controller enabled, 32 ways, 2048 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a69ef12
[    0.000006] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps
every 171798691800ns
[    0.000242] Console: colour dummy device 80x30
[    0.000258] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[    0.090072] pid_max: default: 32768 minimum: 301
[    0.090142] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.090148] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[    0.090398] CPU: Testing write buffer coherency: vmalloc: mapping
page ee1a13e0 (0x0002d41f000) at 0xf001e000
[    0.090414] vmalloc: mapping page ee1a13e0 (0x0002d41f000) at 0xf0020000
[    0.090421] ok
[    0.090523] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.090872] Setting up static identity map for 0x4cece8 - 0x4ced40
[    0.091062] mvebu-soc-id: MVEBU SoC ID=0x7846, Rev=0x2
[    0.091146] mvebu-pmsu: Initializing Power Management Service Unit
[    0.091805] Booting CPU 1
[    0.180067] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.180270] Booting CPU 2
[    0.220067] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.220263] Booting CPU 3
[    0.260067] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.260108] Brought up 4 CPUs
[    0.260116] SMP: Total of 4 processors activated (6376.65 BogoMIPS).
[    0.260120] CPU: All CPU(s) started in SVC mode.
[    0.260387] devtmpfs: initialized
[    0.260725] VFP support v0.3: implementor 56 architecture 2 part 20
variant 9 rev 6
[    0.260899] pinctrl core: initialized pinctrl subsystem
[    0.262846] NET: Registered protocol family 16
[    0.263024] vmalloc: mapping page ee1a3800 (0x0002d540000) at 0xf002c000
[    0.263030] vmalloc: mapping page ee1a3820 (0x0002d541000) at 0xf002d000
[    0.263034] vmalloc: mapping page ee1a3840 (0x0002d542000) at 0xf002e000
[    0.263039] vmalloc: mapping page ee1a3860 (0x0002d543000) at 0xf002f000
[    0.263043] vmalloc: mapping page ee1a3880 (0x0002d544000) at 0xf0030000
[    0.263047] vmalloc: mapping page ee1a38a0 (0x0002d545000) at 0xf0031000
[    0.263051] vmalloc: mapping page ee1a38c0 (0x0002d546000) at 0xf0032000
[    0.263055] vmalloc: mapping page ee1a38e0 (0x0002d547000) at 0xf0033000
[    0.263059] vmalloc: mapping page ee1a3900 (0x0002d548000) at 0xf0034000
[    0.263063] vmalloc: mapping page ee1a3920 (0x0002d549000) at 0xf0035000
[    0.263068] vmalloc: mapping page ee1a3940 (0x0002d54a000) at 0xf0036000
[    0.263072] vmalloc: mapping page ee1a3960 (0x0002d54b000) at 0xf0037000
[    0.263076] vmalloc: mapping page ee1a3980 (0x0002d54c000) at 0xf0038000
[    0.263080] vmalloc: mapping page ee1a39a0 (0x0002d54d000) at 0xf0039000
[    0.263084] vmalloc: mapping page ee1a39c0 (0x0002d54e000) at 0xf003a000
[    0.263088] vmalloc: mapping page ee1a39e0 (0x0002d54f000) at 0xf003b000
[    0.263092] vmalloc: mapping page ee1a3a00 (0x0002d550000) at 0xf003c000
[    0.263096] vmalloc: mapping page ee1a3a20 (0x0002d551000) at 0xf003d000
[    0.263101] vmalloc: mapping page ee1a3a40 (0x0002d552000) at 0xf003e000
[    0.263105] vmalloc: mapping page ee1a3a60 (0x0002d553000) at 0xf003f000
[    0.263109] vmalloc: mapping page ee1a3a80 (0x0002d554000) at 0xf0040000
[    0.263113] vmalloc: mapping page ee1a3aa0 (0x0002d555000) at 0xf0041000
[    0.263117] vmalloc: mapping page ee1a3ac0 (0x0002d556000) at 0xf0042000
[    0.263121] vmalloc: mapping page ee1a3ae0 (0x0002d557000) at 0xf0043000
[    0.263125] vmalloc: mapping page ee1a3b00 (0x0002d558000) at 0xf0044000
[    0.263130] vmalloc: mapping page ee1a3b20 (0x0002d559000) at 0xf0045000
[    0.263134] vmalloc: mapping page ee1a3b40 (0x0002d55a000) at 0xf0046000
[    0.263138] vmalloc: mapping page ee1a3b60 (0x0002d55b000) at 0xf0047000
[    0.263142] vmalloc: mapping page ee1a3b80 (0x0002d55c000) at 0xf0048000
[    0.263146] vmalloc: mapping page ee1a3ba0 (0x0002d55d000) at 0xf0049000
[    0.263150] vmalloc: mapping page ee1a3bc0 (0x0002d55e000) at 0xf004a000
[    0.263154] vmalloc: mapping page ee1a3be0 (0x0002d55f000) at 0xf004b000
[    0.263158] vmalloc: mapping page ee1a3c00 (0x0002d560000) at 0xf004c000
[    0.263163] vmalloc: mapping page ee1a3c20 (0x0002d561000) at 0xf004d000
[    0.263167] vmalloc: mapping page ee1a3c40 (0x0002d562000) at 0xf004e000
[    0.263171] vmalloc: mapping page ee1a3c60 (0x0002d563000) at 0xf004f000
[    0.263175] vmalloc: mapping page ee1a3c80 (0x0002d564000) at 0xf0050000
[    0.263179] vmalloc: mapping page ee1a3ca0 (0x0002d565000) at 0xf0051000
[    0.263183] vmalloc: mapping page ee1a3cc0 (0x0002d566000) at 0xf0052000
[    0.263187] vmalloc: mapping page ee1a3ce0 (0x0002d567000) at 0xf0053000
[    0.263191] vmalloc: mapping page ee1a3d00 (0x0002d568000) at 0xf0054000
[    0.263196] vmalloc: mapping page ee1a3d20 (0x0002d569000) at 0xf0055000
[    0.263200] vmalloc: mapping page ee1a3d40 (0x0002d56a000) at 0xf0056000
[    0.263204] vmalloc: mapping page ee1a3d60 (0x0002d56b000) at 0xf0057000
[    0.263208] vmalloc: mapping page ee1a3d80 (0x0002d56c000) at 0xf0058000
[    0.263212] vmalloc: mapping page ee1a3da0 (0x0002d56d000) at 0xf0059000
[    0.263216] vmalloc: mapping page ee1a3dc0 (0x0002d56e000) at 0xf005a000
[    0.263220] vmalloc: mapping page ee1a3de0 (0x0002d56f000) at 0xf005b000
[    0.263224] vmalloc: mapping page ee1a3e00 (0x0002d570000) at 0xf005c000
[    0.263228] vmalloc: mapping page ee1a3e20 (0x0002d571000) at 0xf005d000
[    0.263233] vmalloc: mapping page ee1a3e40 (0x0002d572000) at 0xf005e000
[    0.263237] vmalloc: mapping page ee1a3e60 (0x0002d573000) at 0xf005f000
[    0.263241] vmalloc: mapping page ee1a3e80 (0x0002d574000) at 0xf0060000
[    0.263245] vmalloc: mapping page ee1a3ea0 (0x0002d575000) at 0xf0061000
[    0.263249] vmalloc: mapping page ee1a3ec0 (0x0002d576000) at 0xf0062000
[    0.263253] vmalloc: mapping page ee1a3ee0 (0x0002d577000) at 0xf0063000
[    0.263257] vmalloc: mapping page ee1a3f00 (0x0002d578000) at 0xf0064000
[    0.263261] vmalloc: mapping page ee1a3f20 (0x0002d579000) at 0xf0065000
[    0.263266] vmalloc: mapping page ee1a3f40 (0x0002d57a000) at 0xf0066000
[    0.263270] vmalloc: mapping page ee1a3f60 (0x0002d57b000) at 0xf0067000
[    0.263274] vmalloc: mapping page ee1a3f80 (0x0002d57c000) at 0xf0068000
[    0.263278] vmalloc: mapping page ee1a3fa0 (0x0002d57d000) at 0xf0069000
[    0.263282] vmalloc: mapping page ee1a3fc0 (0x0002d57e000) at 0xf006a000
[    0.263286] vmalloc: mapping page ee1a3fe0 (0x0002d57f000) at 0xf006b000
[    0.263292] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[    0.290044] cpuidle: using governor ladder
[    0.330042] cpuidle: using governor menu
[    0.370314] vmalloc: mapping page ef7f1000 (0x000dfc00000) at 0xfedd8000
[    0.370321] vmalloc: mapping page ef7f1020 (0x000dfc01000) at 0xfedd9000
[    0.370326] vmalloc: mapping page ef7f1040 (0x000dfc02000) at 0xfedda000
[    0.370330] vmalloc: mapping page ef7f1060 (0x000dfc03000) at 0xfede2000
[    0.370335] vmalloc: mapping page ef7f1080 (0x000dfc04000) at 0xfede3000
[    0.370339] vmalloc: mapping page ef7f10a0 (0x000dfc05000) at 0xfede4000
[    0.370343] vmalloc: mapping page ef7f10c0 (0x000dfc06000) at 0xfedec000
[    0.370347] vmalloc: mapping page ef7f10e0 (0x000dfc07000) at 0xfeded000
[    0.370351] vmalloc: mapping page ef7f1100 (0x000dfc08000) at 0xfedee000
[    0.370356] vmalloc: mapping page ef7f1120 (0x000dfc09000) at 0xfedf6000
[    0.370360] vmalloc: mapping page ef7f1140 (0x000dfc0a000) at 0xfedf7000
[    0.370364] vmalloc: mapping page ef7f1160 (0x000dfc0b000) at 0xfedf8000
[    0.370637] vgaarb: loaded
[    0.370785] SCSI subsystem initialized
[    0.371076] usbcore: registered new interface driver usbfs
[    0.371117] usbcore: registered new interface driver hub
[    0.371157] usbcore: registered new device driver usb
[    0.371400] Advanced Linux Sound Architecture Driver Initialized.
[    0.371720] Bluetooth: Core ver 2.20
[    0.371746] NET: Registered protocol family 31
[    0.371751] Bluetooth: HCI device and connection manager initialized
[    0.371759] Bluetooth: HCI socket layer initialized
[    0.371766] Bluetooth: L2CAP socket layer initialized
[    0.371783] Bluetooth: SCO socket layer initialized
[    0.371949] cfg80211: Calling CRDA to update world regulatory domain
[    0.372091] Switched to clocksource armada_370_xp_clocksource
[    0.378642] NET: Registered protocol family 2
[    0.378962] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[    0.379000] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.379053] TCP: Hash tables configured (established 8192 bind 8192)
[    0.379086] TCP: reno registered
[    0.379094] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.379113] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.379221] NET: Registered protocol family 1
[    0.379382] RPC: Registered named UNIX socket transport module.
[    0.379387] RPC: Registered udp transport module.
[    0.379391] RPC: Registered tcp transport module.
[    0.379395] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.380297] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.380870] vmalloc: mapping page ef7f13e0 (0x000dfc1f000) at 0xfeddb000
[    0.380879] vmalloc: mapping page ef7f1400 (0x000dfc20000) at 0xfeddc000
[    0.380884] vmalloc: mapping page ef7f1420 (0x000dfc21000) at 0xfeddd000
[    0.380889] vmalloc: mapping page ef7f1440 (0x000dfc22000) at 0xfede5000
[    0.380893] vmalloc: mapping page ef7f1460 (0x000dfc23000) at 0xfede6000
[    0.380897] vmalloc: mapping page ef7f1480 (0x000dfc24000) at 0xfede7000
[    0.380902] vmalloc: mapping page ef7f14a0 (0x000dfc25000) at 0xfedef000
[    0.380906] vmalloc: mapping page ef7f14c0 (0x000dfc26000) at 0xfedf0000
[    0.380910] vmalloc: mapping page ef7f14e0 (0x000dfc27000) at 0xfedf1000
[    0.380915] vmalloc: mapping page ef7f1500 (0x000dfc28000) at 0xfedf9000
[    0.380919] vmalloc: mapping page ef7f1520 (0x000dfc29000) at 0xfedfa000
[    0.380923] vmalloc: mapping page ef7f1540 (0x000dfc2a000) at 0xfedfb000
[    0.381311] bounce: pool size: 64 pages
[    0.381351] Block layer SCSI generic (bsg) driver version 0.4 loaded
(major 252)
[    0.381363] io scheduler noop registered
[    0.381371] io scheduler deadline registered
[    0.381400] io scheduler cfq registered (default)
[    0.382125] armada-xp-pinctrl f1018000.pin-ctrl: registered pinctrl
driver
[    0.382467] irq: Cannot allocate irq_descs @ IRQ45, assuming
pre-allocated
[    0.382679] irq: Cannot allocate irq_descs @ IRQ77, assuming
pre-allocated
[    0.382811] irq: Cannot allocate irq_descs @ IRQ109, assuming
pre-allocated
[    0.383152] mvebu-pcie soc:pcie-controller: PCI host bridge to bus
0000:00
[    0.383163] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.383171] pci_bus 0000:00: root bus resource [mem
0xf8000000-0xffdfffff]
[    0.383178] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.383549] PCI: bus0: Fast back to back transfers disabled
[    0.383557] pci 0000:00:01.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383566] pci 0000:00:09.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383573] pci 0000:00:0a.0: bridge configuration invalid ([bus
00-00]), reconfiguring
[    0.383655] PCI: bus1: Fast back to back transfers enabled
[    0.384050] PCI: bus2: Fast back to back transfers disabled
[    0.384138] PCI: bus3: Fast back to back transfers enabled
[    0.384200] pci 0000:00:09.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.384207] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.384219] pci 0000:02:00.0: BAR 2: assigned [mem
0xf8000000-0xf803ffff 64bit]
[    0.384236] pci 0000:02:00.0: BAR 0: assigned [mem
0xf8040000-0xf805ffff 64bit]
[    0.384252] pci 0000:02:00.0: BAR 6: assigned [mem
0xf8060000-0xf806ffff pref]
[    0.384259] pci 0000:00:09.0: PCI bridge to [bus 02]
[    0.384265] pci 0000:00:09.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.384272] pci 0000:00:0a.0: PCI bridge to [bus 03]
[    0.384379] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.402098] mv_xor f1060900.xor: Self-test copy failed compare, disabling
[    0.402165] mv_xor f10f0900.xor: Marvell shared XOR driver
[    0.422111] mv_xor f10f0900.xor: Self-test copy failed compare, disabling
[    0.456847] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.457913] console [ttyS0] disabled
[    0.477982] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 19,
base_baud = 15625000) is a 16550A
[    2.611752] console [ttyS0] enabled
[    2.635762] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 20,
base_baud = 15625000) is a 16550A
[    2.665671] f1012200.serial: ttyS2 at MMIO 0xf1012200 (irq = 32,
base_baud = 15625000) is a 16550A
[    2.695764] f1012300.serial: ttyS3 at MMIO 0xf1012300 (irq = 33,
base_baud = 15625000) is a 16550A
[    2.705352] mvsas 0000:02:00.0: mvsas: driver version 0.8.16
[    2.711036] pci 0000:00:09.0: enabling device (0140 -> 0142)
[    2.717199] mvsas 0000:02:00.0: mvsas: PCI-E x4, Bandwidth Usage: 2.5
Gbps
[    5.962103] scsi host0: mvsas
[    6.122188] Unable to handle kernel NULL pointer dereference at
virtual address 000002d4
[    6.130298] pgd = c0004000
[    6.133022] [000002d4] *pgd=00000000
[    6.136617] Internal error: Oops: 5 [#1] SMP ARM
[    6.141244] Modules linked in:
[    6.144317] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted
4.0.0-rc2-00137-gb672c98-dirty #2
[    6.152600] Hardware name: Marvell Armada 370/XP (Device Tree)
[    6.158452] Workqueue: events_unbound async_run_entry_fn
[    6.163786] task: ed426c00 ti: ed452000 task.ti: ed452000
[    6.169196] PC is at 0x0
[    6.171734] LR is at 0xfafeff5c
[    6.174883] pc : [<00000000>]    lr : [<fafeff5c>]    psr: 00000000
[    6.174883] sp : ffd6d7ff  ip : 00000000  fp : 00000200
[    6.186388] r10: ed453d90  r9 : 00000001  r8 : 00000000
[    6.191624] r7 : ed5857c0  r6 : 00000000  r5 : ed80c60a  r4 : 00000000
[    6.198166] r3 : 76c06305  r2 : c200f010  r1 : 00000000  r0 : 00000000
[    6.204709] Flags: nzcv  IRQs on  FIQs on  Mode USER_26  ISA ARM 
Segment kernel
[    6.212121] Control: 10c5387d  Table: 0000406a  DAC: 00000015
[    6.217880] Process kworker/u8:0 (pid: 6, stack limit = 0xed452220)
[    6.224183] ---[ end trace 93bf56ab1670c925 ]---
[    6.228824] Unable to handle kernel NULL pointer dereference at
virtual address 000002d4

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 17:46       ` Russell King - ARM Linux
@ 2015-03-11 18:08         ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 18:08 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

11.03.2015 20:46, Russell King - ARM Linux пишет:
> On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
>> Hello Thomas, thanks for that info!
>>
>> Is there a quick way to test that?
>> I used memmap=0x20000000$0xe0000000 but nothing changed...
> Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.

mem=0xc0000000 seems to work!
0xd0000000 or 0xe0000000 do not.
OK, so 3Gb instead of 8... but at least it boots! :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 18:08         ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 18:08 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 20:46, Russell King - ARM Linux ?????:
> On Wed, Mar 11, 2015 at 08:26:53PM +0300, Stas Sergeev wrote:
>> Hello Thomas, thanks for that info!
>>
>> Is there a quick way to test that?
>> I used memmap=0x20000000$0xe0000000 but nothing changed...
> Use mem=0xe0000000 instead.  memmap= isn't supported on ARM.

mem=0xc0000000 seems to work!
0xd0000000 or 0xe0000000 do not.
OK, so 3Gb instead of 8... but at least it boots! :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 17:56         ` Stas Sergeev
@ 2015-03-11 18:11           ` Thomas Petazzoni
  -1 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 18:11 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

Dear Stas Sergeev,

On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:

> It doesn't look like it works as intended.
> Got the crash below.
> Please note the mappings beyond 0xe0000000, so I wonder if
> the option worked as expected?

Are you sure you're not confusing virtual addresses and physical
addresses? I'm not sure where you see mappings beyond 0xe0000000,
except virtual addresses, which are not relevant here, as we are
talking about physical addresses.

> [    6.122188] Unable to handle kernel NULL pointer dereference at
> virtual address 000002d4
> [    6.130298] pgd = c0004000
> [    6.133022] [000002d4] *pgd=00000000
> [    6.136617] Internal error: Oops: 5 [#1] SMP ARM
> [    6.141244] Modules linked in:
> [    6.144317] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted
> 4.0.0-rc2-00137-gb672c98-dirty #2
> [    6.152600] Hardware name: Marvell Armada 370/XP (Device Tree)
> [    6.158452] Workqueue: events_unbound async_run_entry_fn
> [    6.163786] task: ed426c00 ti: ed452000 task.ti: ed452000
> [    6.169196] PC is at 0x0
> [    6.171734] LR is at 0xfafeff5c
> [    6.174883] pc : [<00000000>]    lr : [<fafeff5c>]    psr: 00000000
> [    6.174883] sp : ffd6d7ff  ip : 00000000  fp : 00000200
> [    6.186388] r10: ed453d90  r9 : 00000001  r8 : 00000000
> [    6.191624] r7 : ed5857c0  r6 : 00000000  r5 : ed80c60a  r4 : 00000000
> [    6.198166] r3 : 76c06305  r2 : c200f010  r1 : 00000000  r0 : 00000000
> [    6.204709] Flags: nzcv  IRQs on  FIQs on  Mode USER_26  ISA ARM 
> Segment kernel
> [    6.212121] Control: 10c5387d  Table: 0000406a  DAC: 00000015
> [    6.217880] Process kworker/u8:0 (pid: 6, stack limit = 0xed452220)
> [    6.224183] ---[ end trace 93bf56ab1670c925 ]---
> [    6.228824] Unable to handle kernel NULL pointer dereference at
> virtual address 000002d4

This looks indeed weird.

What I did to work around this problem is to:

 1/ Boot in appended DT mode so that the bootloader doesn't mess up
    with the DTB

 2/ Disable CONFIG_ARM_ATAG_DTB_COMPAT so that the kernel doesn't
    update the /memory/reg DT node with the (bogus) ATAGS passed by the
    bootloader.

Of course, this means you'll have to have a proper /memory/reg value in
your DT, and a correct /chosen/bootargs value, since all info passed by
the bootloader will essentially be ignored.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 18:11           ` Thomas Petazzoni
  0 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 18:11 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Stas Sergeev,

On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:

> It doesn't look like it works as intended.
> Got the crash below.
> Please note the mappings beyond 0xe0000000, so I wonder if
> the option worked as expected?

Are you sure you're not confusing virtual addresses and physical
addresses? I'm not sure where you see mappings beyond 0xe0000000,
except virtual addresses, which are not relevant here, as we are
talking about physical addresses.

> [    6.122188] Unable to handle kernel NULL pointer dereference at
> virtual address 000002d4
> [    6.130298] pgd = c0004000
> [    6.133022] [000002d4] *pgd=00000000
> [    6.136617] Internal error: Oops: 5 [#1] SMP ARM
> [    6.141244] Modules linked in:
> [    6.144317] CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted
> 4.0.0-rc2-00137-gb672c98-dirty #2
> [    6.152600] Hardware name: Marvell Armada 370/XP (Device Tree)
> [    6.158452] Workqueue: events_unbound async_run_entry_fn
> [    6.163786] task: ed426c00 ti: ed452000 task.ti: ed452000
> [    6.169196] PC is at 0x0
> [    6.171734] LR is at 0xfafeff5c
> [    6.174883] pc : [<00000000>]    lr : [<fafeff5c>]    psr: 00000000
> [    6.174883] sp : ffd6d7ff  ip : 00000000  fp : 00000200
> [    6.186388] r10: ed453d90  r9 : 00000001  r8 : 00000000
> [    6.191624] r7 : ed5857c0  r6 : 00000000  r5 : ed80c60a  r4 : 00000000
> [    6.198166] r3 : 76c06305  r2 : c200f010  r1 : 00000000  r0 : 00000000
> [    6.204709] Flags: nzcv  IRQs on  FIQs on  Mode USER_26  ISA ARM 
> Segment kernel
> [    6.212121] Control: 10c5387d  Table: 0000406a  DAC: 00000015
> [    6.217880] Process kworker/u8:0 (pid: 6, stack limit = 0xed452220)
> [    6.224183] ---[ end trace 93bf56ab1670c925 ]---
> [    6.228824] Unable to handle kernel NULL pointer dereference at
> virtual address 000002d4

This looks indeed weird.

What I did to work around this problem is to:

 1/ Boot in appended DT mode so that the bootloader doesn't mess up
    with the DTB

 2/ Disable CONFIG_ARM_ATAG_DTB_COMPAT so that the kernel doesn't
    update the /memory/reg DT node with the (bogus) ATAGS passed by the
    bootloader.

Of course, this means you'll have to have a proper /memory/reg value in
your DT, and a correct /chosen/bootargs value, since all info passed by
the bootloader will essentially be ignored.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 18:08         ` Stas Sergeev
@ 2015-03-11 18:33           ` Thomas Petazzoni
  -1 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 18:33 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

Dear Stas Sergeev,

On Wed, 11 Mar 2015 21:08:03 +0300, Stas Sergeev wrote:

> mem=0xc0000000 seems to work!
> 0xd0000000 or 0xe0000000 do not.
> OK, so 3Gb instead of 8... but at least it boots! :)

What is the value of the register 0xf1020254 ?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 18:33           ` Thomas Petazzoni
  0 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-11 18:33 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Stas Sergeev,

On Wed, 11 Mar 2015 21:08:03 +0300, Stas Sergeev wrote:

> mem=0xc0000000 seems to work!
> 0xd0000000 or 0xe0000000 do not.
> OK, so 3Gb instead of 8... but at least it boots! :)

What is the value of the register 0xf1020254 ?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 18:11           ` Thomas Petazzoni
@ 2015-03-11 18:38             ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 18:38 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

11.03.2015 21:11, Thomas Petazzoni пишет:
> Dear Stas Sergeev,
>
> On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:
>
>> It doesn't look like it works as intended.
>> Got the crash below.
>> Please note the mappings beyond 0xe0000000, so I wonder if
>> the option worked as expected?
> Are you sure you're not confusing virtual addresses and physical
> addresses?
OK, so I changed Russel's printk to the following way:

+printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx 0x%08zx\n",
+    page, page_to_pfn(page), addr, __pa(addr));

(added __pa(addr)) and now I hope I am seeing the physical
addresses at the last column:

[   19.023836] vmalloc: mapping page ef7f1fa0 (0x000bfc7d000) at
0xf04a3000 0x304a3000
[   19.031515] vmalloc: mapping page ef7f3360 (0x000bfd1b000) at
0xf04a4000 0x304a4000
[   19.039221] vmalloc: mapping page ef7f18e0 (0x000bfc47000) at
0xf04a5000 0x304a5000

and they do not exceed mem= option.
Not sure though if this was the right thing to do though. :)

Anyway, with mem=0xc000000 it seems to boot, so many
thanks to everyone!

I'll check the value of the register 0xf1020254 tomorrow and will post back.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 18:38             ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-11 18:38 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 21:11, Thomas Petazzoni ?????:
> Dear Stas Sergeev,
>
> On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:
>
>> It doesn't look like it works as intended.
>> Got the crash below.
>> Please note the mappings beyond 0xe0000000, so I wonder if
>> the option worked as expected?
> Are you sure you're not confusing virtual addresses and physical
> addresses?
OK, so I changed Russel's printk to the following way:

+printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx 0x%08zx\n",
+    page, page_to_pfn(page), addr, __pa(addr));

(added __pa(addr)) and now I hope I am seeing the physical
addresses at the last column:

[   19.023836] vmalloc: mapping page ef7f1fa0 (0x000bfc7d000) at
0xf04a3000 0x304a3000
[   19.031515] vmalloc: mapping page ef7f3360 (0x000bfd1b000) at
0xf04a4000 0x304a4000
[   19.039221] vmalloc: mapping page ef7f18e0 (0x000bfc47000) at
0xf04a5000 0x304a5000

and they do not exceed mem= option.
Not sure though if this was the right thing to do though. :)

Anyway, with mem=0xc000000 it seems to boot, so many
thanks to everyone!

I'll check the value of the register 0xf1020254 tomorrow and will post back.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 18:38             ` Stas Sergeev
@ 2015-03-11 18:41               ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 18:41 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

On Wed, Mar 11, 2015 at 09:38:53PM +0300, Stas Sergeev wrote:
> 11.03.2015 21:11, Thomas Petazzoni пишет:
> > Dear Stas Sergeev,
> >
> > On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:
> >
> >> It doesn't look like it works as intended.
> >> Got the crash below.
> >> Please note the mappings beyond 0xe0000000, so I wonder if
> >> the option worked as expected?
> > Are you sure you're not confusing virtual addresses and physical
> > addresses?
> OK, so I changed Russel's printk to the following way:
> 
> +printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx 0x%08zx\n",
> +    page, page_to_pfn(page), addr, __pa(addr));
> 
> (added __pa(addr)) and now I hope I am seeing the physical
> addresses at the last column:

No, you don't want to do that...

> [   19.023836] vmalloc: mapping page ef7f1fa0 (0x000bfc7d000) at
                                        |          `- physical address
					`-struct page address
> 0xf04a3000 0x304a3000
    `- virtual address

__pa() doesn't work on addresses in the vmalloc region.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-11 18:41               ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-11 18:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 09:38:53PM +0300, Stas Sergeev wrote:
> 11.03.2015 21:11, Thomas Petazzoni ?????:
> > Dear Stas Sergeev,
> >
> > On Wed, 11 Mar 2015 20:56:50 +0300, Stas Sergeev wrote:
> >
> >> It doesn't look like it works as intended.
> >> Got the crash below.
> >> Please note the mappings beyond 0xe0000000, so I wonder if
> >> the option worked as expected?
> > Are you sure you're not confusing virtual addresses and physical
> > addresses?
> OK, so I changed Russel's printk to the following way:
> 
> +printk("vmalloc: mapping page %p (0x%08lx000) at 0x%08lx 0x%08zx\n",
> +    page, page_to_pfn(page), addr, __pa(addr));
> 
> (added __pa(addr)) and now I hope I am seeing the physical
> addresses at the last column:

No, you don't want to do that...

> [   19.023836] vmalloc: mapping page ef7f1fa0 (0x000bfc7d000) at
                                        |          `- physical address
					`-struct page address
> 0xf04a3000 0x304a3000
    `- virtual address

__pa() doesn't work on addresses in the vmalloc region.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 14:24             ` Stas Sergeev
@ 2015-03-12 12:33               ` Peter Hurley
  -1 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-12 12:33 UTC (permalink / raw)
  To: Stas Sergeev, Russell King - ARM Linux
  Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> However, while testing, I've suddenly got another crash happened
> a bit earlier than the previous one used to happen: (OOM? How??)
> ---
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> #2 SMP 5
> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> cache
> [    0.000000] Machine model: Marvell Armada XP Development Board
> DB-MV784MP-GP
> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000

Once you patch your bootloader, you'll want to configure your kernel
for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
it's being ignored in this config right now (as shown above and in
the oom message below).

> [    7.055570] Mem-info:
[...]
> [    7.314368] 983040 pages of RAM

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 12:33               ` Peter Hurley
  0 siblings, 0 replies; 88+ messages in thread
From: Peter Hurley @ 2015-03-12 12:33 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> However, while testing, I've suddenly got another crash happened
> a bit earlier than the previous one used to happen: (OOM? How??)
> ---
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> #2 SMP 5
> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> cr=10c5387d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> cache
> [    0.000000] Machine model: Marvell Armada XP Development Board
> DB-MV784MP-GP
> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000

Once you patch your bootloader, you'll want to configure your kernel
for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
it's being ignored in this config right now (as shown above and in
the oom message below).

> [    7.055570] Mem-info:
[...]
> [    7.314368] 983040 pages of RAM

Regards,
Peter Hurley

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 18:33           ` Thomas Petazzoni
@ 2015-03-12 12:44             ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 12:44 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

11.03.2015 21:33, Thomas Petazzoni пишет:
> Dear Stas Sergeev,
>
> On Wed, 11 Mar 2015 21:08:03 +0300, Stas Sergeev wrote:
>
>> mem=0xc0000000 seems to work!
>> 0xd0000000 or 0xe0000000 do not.
>> OK, so 3Gb instead of 8... but at least it boots! :)
> What is the value of the register 0xf1020254 ?
Hello Thomas, I haven't got to look into that register:
uboot is updated to v2011.12-2014_T2.0 and everything
is working! So thanks once again.
The only problem I now have is the lack of 256Mb of
ram.

[    0.000000] MEMBLOCK
configuration:                                         
[    0.000000]  memory size = 0x1f0000000 reserved size =
0x70d6e3             
[    0.000000]  memory.cnt  =
0x2                                              
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000
bytes flags:
0x0                                                               
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000
 bytes flags: 0x0 

There is a 8Gb in a single dimm.
Do you have any idea why 0xf0000000-0xffffffff range is missing?
I suspect this is something with uboot too.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 12:44             ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 12:44 UTC (permalink / raw)
  To: linux-arm-kernel

11.03.2015 21:33, Thomas Petazzoni ?????:
> Dear Stas Sergeev,
>
> On Wed, 11 Mar 2015 21:08:03 +0300, Stas Sergeev wrote:
>
>> mem=0xc0000000 seems to work!
>> 0xd0000000 or 0xe0000000 do not.
>> OK, so 3Gb instead of 8... but at least it boots! :)
> What is the value of the register 0xf1020254 ?
Hello Thomas, I haven't got to look into that register:
uboot is updated to v2011.12-2014_T2.0 and everything
is working! So thanks once again.
The only problem I now have is the lack of 256Mb of
ram.

[    0.000000] MEMBLOCK
configuration:                                         
[    0.000000]  memory size = 0x1f0000000 reserved size =
0x70d6e3             
[    0.000000]  memory.cnt  =
0x2                                              
[    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
0xf0000000
bytes flags:
0x0                                                               
[    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
0x100000000
 bytes flags: 0x0 

There is a 8Gb in a single dimm.
Do you have any idea why 0xf0000000-0xffffffff range is missing?
I suspect this is something with uboot too.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 12:33               ` Peter Hurley
@ 2015-03-12 12:47                 ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 12:47 UTC (permalink / raw)
  To: Peter Hurley, Russell King - ARM Linux
  Cc: Catalin Marinas, Linux kernel, linux-arm-kernel

12.03.2015 15:33, Peter Hurley пишет:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>> However, while testing, I've suddenly got another crash happened
>> a bit earlier than the previous one used to happen: (OOM? How??)
>> ---
>> [    0.000000] Booting Linux on physical CPU 0x0
>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>> #2 SMP 5
>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>> cr=10c5387d
>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>> cache
>> [    0.000000] Machine model: Marvell Armada XP Development Board
>> DB-MV784MP-GP
>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> Once you patch your bootloader, you'll want to configure your kernel
> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> it's being ignored in this config right now (as shown above and in
> the oom message below).
Hi Peter, thanks for this hint.
I actually already tried with lpae, and, except for the missing
256Mb, everything works properly. :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 12:47                 ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 12:47 UTC (permalink / raw)
  To: linux-arm-kernel

12.03.2015 15:33, Peter Hurley ?????:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>> However, while testing, I've suddenly got another crash happened
>> a bit earlier than the previous one used to happen: (OOM? How??)
>> ---
>> [    0.000000] Booting Linux on physical CPU 0x0
>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>> #2 SMP 5
>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>> cr=10c5387d
>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>> cache
>> [    0.000000] Machine model: Marvell Armada XP Development Board
>> DB-MV784MP-GP
>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> Once you patch your bootloader, you'll want to configure your kernel
> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> it's being ignored in this config right now (as shown above and in
> the oom message below).
Hi Peter, thanks for this hint.
I actually already tried with lpae, and, except for the missing
256Mb, everything works properly. :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 12:44             ` Stas Sergeev
@ 2015-03-12 12:47               ` Thomas Petazzoni
  -1 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-12 12:47 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

Dear Stas Sergeev,

On Thu, 12 Mar 2015 15:44:44 +0300, Stas Sergeev wrote:

> Hello Thomas, I haven't got to look into that register:
> uboot is updated to v2011.12-2014_T2.0 and everything
> is working! So thanks once again.

Well if everything is working now, and seeing your boot log, the
register 0xf1020254 will contain 0xf0000000.

> The only problem I now have is the lack of 256Mb of
> ram.
> 
> [    0.000000] MEMBLOCK
> configuration:                                         
> [    0.000000]  memory size = 0x1f0000000 reserved size =
> 0x70d6e3             
> [    0.000000]  memory.cnt  =
> 0x2                                              
> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
> 0xf0000000
> bytes flags:
> 0x0                                                               
> [    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
> 0x100000000
>  bytes flags: 0x0 
> 
> There is a 8Gb in a single dimm.
> Do you have any idea why 0xf0000000-0xffffffff range is missing?
> I suspect this is something with uboot too.

No, this is expected. Your physical address space is shared between RAM
and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
address space is where all the registers for your SoC and PCIe devices
will be located. You are therefore indeed losing 256 MB of RAM, but
there's nothing that can be done about this.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 12:47               ` Thomas Petazzoni
  0 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-12 12:47 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Stas Sergeev,

On Thu, 12 Mar 2015 15:44:44 +0300, Stas Sergeev wrote:

> Hello Thomas, I haven't got to look into that register:
> uboot is updated to v2011.12-2014_T2.0 and everything
> is working! So thanks once again.

Well if everything is working now, and seeing your boot log, the
register 0xf1020254 will contain 0xf0000000.

> The only problem I now have is the lack of 256Mb of
> ram.
> 
> [    0.000000] MEMBLOCK
> configuration:                                         
> [    0.000000]  memory size = 0x1f0000000 reserved size =
> 0x70d6e3             
> [    0.000000]  memory.cnt  =
> 0x2                                              
> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
> 0xf0000000
> bytes flags:
> 0x0                                                               
> [    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
> 0x100000000
>  bytes flags: 0x0 
> 
> There is a 8Gb in a single dimm.
> Do you have any idea why 0xf0000000-0xffffffff range is missing?
> I suspect this is something with uboot too.

No, this is expected. Your physical address space is shared between RAM
and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
address space is where all the registers for your SoC and PCIe devices
will be located. You are therefore indeed losing 256 MB of RAM, but
there's nothing that can be done about this.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 12:33               ` Peter Hurley
@ 2015-03-12 12:59                 ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 12:59 UTC (permalink / raw)
  To: Peter Hurley
  Cc: Stas Sergeev, Catalin Marinas, Linux kernel, linux-arm-kernel

On Thu, Mar 12, 2015 at 08:33:40AM -0400, Peter Hurley wrote:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> > However, while testing, I've suddenly got another crash happened
> > a bit earlier than the previous one used to happen: (OOM? How??)
> > ---
> > [    0.000000] Booting Linux on physical CPU 0x0
> > [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> > (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> > #2 SMP 5
> > [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> > cr=10c5387d
> > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> > cache
> > [    0.000000] Machine model: Marvell Armada XP Development Board
> > DB-MV784MP-GP
> > [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> 
> Once you patch your bootloader, you'll want to configure your kernel
> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> it's being ignored in this config right now (as shown above and in
> the oom message below).

The OOM is happening during boot.  During boot, there is 760MB of lowmem
free initially, along with a few gigabytes of highmem.

If we look at the buddy state:

[    7.220815] Normal: 2*4kB (UR) 17*8kB (UR) 0*16kB 0*32kB 0*64kB
0*128kB 1*256kB (R) 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3472kB
[    7.233210] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 3B

we can see that most of lowmem is in the reserve migration type, and
some is also in the unmovable type.  3MB of reserved lowmem for atomic
allocations is about what I'd expect given the memory sizes.

Highmem has some memory in the movable migratation type, but the bulk
is in the reserve migration type - but this is irrelevant as you'll
see from the next bit of information:

[    6.818183] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0

Let's decode that gfp_mask.

	___GFP_NOTRACK | ___GFP_COMP | ___GFP_FS | ___GFP_IO | ___GFP_WAIT

This does not give the allocator permission to allocate from highmem -
for that, it needs ___GFP_HIGH to be in there, but it isn't.

The kernel should _not_ consume 760MB of lowmem during boot, but according
to the accounting, it looks like it has.

If the memory allocation structures are ending up in the problem region
of physical RAM, then that could be responsible for this OOM - but that
won't happen, because we don't place that stuff into highmem.

In short, I don't have a clue what would cause 760MB of lowmem to be
gobbled up, but one thing I'm absolutely certain of is that adding more
highmem won't solve this - if anything, it'll probably make things worse
due to more lowmem being consumed to track the additional highmem pages.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 12:59                 ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 12:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 12, 2015 at 08:33:40AM -0400, Peter Hurley wrote:
> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> > However, while testing, I've suddenly got another crash happened
> > a bit earlier than the previous one used to happen: (OOM? How??)
> > ---
> > [    0.000000] Booting Linux on physical CPU 0x0
> > [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> > (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> > #2 SMP 5
> > [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> > cr=10c5387d
> > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> > cache
> > [    0.000000] Machine model: Marvell Armada XP Development Board
> > DB-MV784MP-GP
> > [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> 
> Once you patch your bootloader, you'll want to configure your kernel
> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> it's being ignored in this config right now (as shown above and in
> the oom message below).

The OOM is happening during boot.  During boot, there is 760MB of lowmem
free initially, along with a few gigabytes of highmem.

If we look at the buddy state:

[    7.220815] Normal: 2*4kB (UR) 17*8kB (UR) 0*16kB 0*32kB 0*64kB
0*128kB 1*256kB (R) 0*512kB 1*1024kB (R) 1*2048kB (R) 0*4096kB = 3472kB
[    7.233210] HighMem: 0*4kB 1*8kB (M) 0*16kB 0*32kB 0*64kB 0*128kB
2*256kB (UM) 1*512kB (M) 1*1024kB (M) 1*2048kB (M) 767*4096kB (MR) = 3B

we can see that most of lowmem is in the reserve migration type, and
some is also in the unmovable type.  3MB of reserved lowmem for atomic
allocations is about what I'd expect given the memory sizes.

Highmem has some memory in the movable migratation type, but the bulk
is in the reserve migration type - but this is irrelevant as you'll
see from the next bit of information:

[    6.818183] swapper/0 invoked oom-killer: gfp_mask=0x2040d0, order=0,
oom_score_adj=0

Let's decode that gfp_mask.

	___GFP_NOTRACK | ___GFP_COMP | ___GFP_FS | ___GFP_IO | ___GFP_WAIT

This does not give the allocator permission to allocate from highmem -
for that, it needs ___GFP_HIGH to be in there, but it isn't.

The kernel should _not_ consume 760MB of lowmem during boot, but according
to the accounting, it looks like it has.

If the memory allocation structures are ending up in the problem region
of physical RAM, then that could be responsible for this OOM - but that
won't happen, because we don't place that stuff into highmem.

In short, I don't have a clue what would cause 760MB of lowmem to be
gobbled up, but one thing I'm absolutely certain of is that adding more
highmem won't solve this - if anything, it'll probably make things worse
due to more lowmem being consumed to track the additional highmem pages.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 12:47               ` Thomas Petazzoni
@ 2015-03-12 13:03                 ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:03 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

12.03.2015 15:47, Thomas Petazzoni пишет:
> Dear Stas Sergeev,
>
>
>> The only problem I now have is the lack of 256Mb of
>> ram.
>>
>> [    0.000000] MEMBLOCK
>> configuration:                                         
>> [    0.000000]  memory size = 0x1f0000000 reserved size =
>> 0x70d6e3             
>> [    0.000000]  memory.cnt  =
>> 0x2                                              
>> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
>> 0xf0000000
>> bytes flags:
>> 0x0                                                               
>> [    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
>> 0x100000000
>>  bytes flags: 0x0 
>>
>> There is a 8Gb in a single dimm.
>> Do you have any idea why 0xf0000000-0xffffffff range is missing?
>> I suspect this is something with uboot too.
> No, this is expected. Your physical address space is shared between RAM
> and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
> address space is where all the registers for your SoC and PCIe devices
Yeah, I realize that, but I was hoping that some work-around
exists. For example, move entire dimm above 4G? Is this really
impossible? Or maybe move overlapping region above 8G...

> will be located. You are therefore indeed losing 256 MB of RAM, but
> there's nothing that can be done about this.
OK, that's sad.
Thanks for info!

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:03                 ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:03 UTC (permalink / raw)
  To: linux-arm-kernel

12.03.2015 15:47, Thomas Petazzoni ?????:
> Dear Stas Sergeev,
>
>
>> The only problem I now have is the lack of 256Mb of
>> ram.
>>
>> [    0.000000] MEMBLOCK
>> configuration:                                         
>> [    0.000000]  memory size = 0x1f0000000 reserved size =
>> 0x70d6e3             
>> [    0.000000]  memory.cnt  =
>> 0x2                                              
>> [    0.000000]  memory[0x0]     [0x00000000000000-0x000000efffffff],
>> 0xf0000000
>> bytes flags:
>> 0x0                                                               
>> [    0.000000]  memory[0x1]     [0x00000100000000-0x000001ffffffff],
>> 0x100000000
>>  bytes flags: 0x0 
>>
>> There is a 8Gb in a single dimm.
>> Do you have any idea why 0xf0000000-0xffffffff range is missing?
>> I suspect this is something with uboot too.
> No, this is expected. Your physical address space is shared between RAM
> and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
> address space is where all the registers for your SoC and PCIe devices
Yeah, I realize that, but I was hoping that some work-around
exists. For example, move entire dimm above 4G? Is this really
impossible? Or maybe move overlapping region above 8G...

> will be located. You are therefore indeed losing 256 MB of RAM, but
> there's nothing that can be done about this.
OK, that's sad.
Thanks for info!

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 12:47                 ` Stas Sergeev
@ 2015-03-12 13:04                   ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:04 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Peter Hurley, Catalin Marinas, Linux kernel, linux-arm-kernel

On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
> 12.03.2015 15:33, Peter Hurley пишет:
> > On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> >> However, while testing, I've suddenly got another crash happened
> >> a bit earlier than the previous one used to happen: (OOM? How??)
> >> ---
> >> [    0.000000] Booting Linux on physical CPU 0x0
> >> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> >> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> >> #2 SMP 5
> >> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> >> cr=10c5387d
> >> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> >> cache
> >> [    0.000000] Machine model: Marvell Armada XP Development Board
> >> DB-MV784MP-GP
> >> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> > Once you patch your bootloader, you'll want to configure your kernel
> > for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> > it's being ignored in this config right now (as shown above and in
> > the oom message below).
> Hi Peter, thanks for this hint.
> I actually already tried with lpae, and, except for the missing
> 256Mb, everything works properly. :)

How reproducable is the OOM?  Have you tested LPAE as much as you did
without LPAE?

As I just said to Peter, I don't see adding more highmem would solve
your problem - I think there's something quite bad going on here,
possibly resulting in some form of memory corruption which is changing
the kernels ability to properly track memory usage.

I don't see how 760MB of lowmem could be gobbled up soo early in boot.

Enabling LPAE and allowing an additional 4GB of highmem should mean
that an additional 32MB of lowmem is consumed in the struct page array
needed to track that additional 4GB of memory alone - that should
increase the lowmem pressure further, and cause an OOM earlier in the
boot.  (32MB = 4GB / 4K * sizeof(struct page) = 4GB / 4K * 32).

I think you still have problems somewhere.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:04                   ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
> 12.03.2015 15:33, Peter Hurley ?????:
> > On 03/11/2015 10:24 AM, Stas Sergeev wrote:
> >> However, while testing, I've suddenly got another crash happened
> >> a bit earlier than the previous one used to happen: (OOM? How??)
> >> ---
> >> [    0.000000] Booting Linux on physical CPU 0x0
> >> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
> >> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
> >> #2 SMP 5
> >> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
> >> cr=10c5387d
> >> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
> >> cache
> >> [    0.000000] Machine model: Marvell Armada XP Development Board
> >> DB-MV784MP-GP
> >> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
> > Once you patch your bootloader, you'll want to configure your kernel
> > for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
> > it's being ignored in this config right now (as shown above and in
> > the oom message below).
> Hi Peter, thanks for this hint.
> I actually already tried with lpae, and, except for the missing
> 256Mb, everything works properly. :)

How reproducable is the OOM?  Have you tested LPAE as much as you did
without LPAE?

As I just said to Peter, I don't see adding more highmem would solve
your problem - I think there's something quite bad going on here,
possibly resulting in some form of memory corruption which is changing
the kernels ability to properly track memory usage.

I don't see how 760MB of lowmem could be gobbled up soo early in boot.

Enabling LPAE and allowing an additional 4GB of highmem should mean
that an additional 32MB of lowmem is consumed in the struct page array
needed to track that additional 4GB of memory alone - that should
increase the lowmem pressure further, and cause an OOM earlier in the
boot.  (32MB = 4GB / 4K * sizeof(struct page) = 4GB / 4K * 32).

I think you still have problems somewhere.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-11 15:22           ` Stas Sergeev
@ 2015-03-12 13:06             ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:06 UTC (permalink / raw)
  To: Stas Sergeev; +Cc: Gregory CLEMENT, Linux kernel, linux-arm-kernel

On Wed, Mar 11, 2015 at 06:22:42PM +0300, Stas Sergeev wrote:
> 11.03.2015 18:13, Gregory CLEMENT пишет:
> > On 11/03/2015 16:01, Stas Sergeev wrote:
> >> 11.03.2015 16:14, Russell King - ARM Linux пишет:
> >>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
> >>>> Hi Stas,
> >>>>
> >>>> On 10/03/2015 17:54, Stas Sergeev wrote:
> >>>>> Hello, the patch below is needed for a successful boot on armada-xp.
> >>>>>
> >>>> I am really surprised by this patch because I used the Armada XP based
> >>>> board in a daily base and I never saw this issue.
> >>> Can you provide some details about your board - does it have 8GB of
> >>> memory, ranging from 0-0xf0000000, and 4G-8G ?
> >> I wonder about this 256Mb memory hole.
> > This is where the SoC registers are.
> OK but it seems I am loosing this region of _physical_ memory:

Correct, because the kernel can't see that physical memory.

If it tries to access the physical memory at those locations, it hits
the SoC registers and PCI instead of memory.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:06             ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 11, 2015 at 06:22:42PM +0300, Stas Sergeev wrote:
> 11.03.2015 18:13, Gregory CLEMENT ?????:
> > On 11/03/2015 16:01, Stas Sergeev wrote:
> >> 11.03.2015 16:14, Russell King - ARM Linux ?????:
> >>> On Wed, Mar 11, 2015 at 01:44:57PM +0100, Gregory CLEMENT wrote:
> >>>> Hi Stas,
> >>>>
> >>>> On 10/03/2015 17:54, Stas Sergeev wrote:
> >>>>> Hello, the patch below is needed for a successful boot on armada-xp.
> >>>>>
> >>>> I am really surprised by this patch because I used the Armada XP based
> >>>> board in a daily base and I never saw this issue.
> >>> Can you provide some details about your board - does it have 8GB of
> >>> memory, ranging from 0-0xf0000000, and 4G-8G ?
> >> I wonder about this 256Mb memory hole.
> > This is where the SoC registers are.
> OK but it seems I am loosing this region of _physical_ memory:

Correct, because the kernel can't see that physical memory.

If it tries to access the physical memory at those locations, it hits
the SoC registers and PCI instead of memory.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 13:04                   ` Russell King - ARM Linux
@ 2015-03-12 13:11                     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:11 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Peter Hurley, Catalin Marinas, Linux kernel, linux-arm-kernel

12.03.2015 16:04, Russell King - ARM Linux пишет:
> On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
>> 12.03.2015 15:33, Peter Hurley пишет:
>>> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>>>> However, while testing, I've suddenly got another crash happened
>>>> a bit earlier than the previous one used to happen: (OOM? How??)
>>>> ---
>>>> [    0.000000] Booting Linux on physical CPU 0x0
>>>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>>>> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>>>> #2 SMP 5
>>>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>>>> cr=10c5387d
>>>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>>>> cache
>>>> [    0.000000] Machine model: Marvell Armada XP Development Board
>>>> DB-MV784MP-GP
>>>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
>>> Once you patch your bootloader, you'll want to configure your kernel
>>> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
>>> it's being ignored in this config right now (as shown above and in
>>> the oom message below).
>> Hi Peter, thanks for this hint.
>> I actually already tried with lpae, and, except for the missing
>> 256Mb, everything works properly. :)
> How reproducable is the OOM?  Have you tested LPAE as much as you did
> without LPAE?
Hi Russel, OOM is reproduceable quite fine only on old uboot
and non-lpae mode.
With lpae mode and old uboot OOM doesn't happen, but the board is not
very reliable.
With old uboot and mem=3G OOM is not reproduceable!
With new uboot and whatever lpae more, OOM does not happen.
So, after all, it still seems to be related to the problematic memory
region. Let me know if you still suspect a bug and need more testing.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:11                     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:11 UTC (permalink / raw)
  To: linux-arm-kernel

12.03.2015 16:04, Russell King - ARM Linux ?????:
> On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
>> 12.03.2015 15:33, Peter Hurley ?????:
>>> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>>>> However, while testing, I've suddenly got another crash happened
>>>> a bit earlier than the previous one used to happen: (OOM? How??)
>>>> ---
>>>> [    0.000000] Booting Linux on physical CPU 0x0
>>>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>>>> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>>>> #2 SMP 5
>>>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>>>> cr=10c5387d
>>>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>>>> cache
>>>> [    0.000000] Machine model: Marvell Armada XP Development Board
>>>> DB-MV784MP-GP
>>>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
>>> Once you patch your bootloader, you'll want to configure your kernel
>>> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
>>> it's being ignored in this config right now (as shown above and in
>>> the oom message below).
>> Hi Peter, thanks for this hint.
>> I actually already tried with lpae, and, except for the missing
>> 256Mb, everything works properly. :)
> How reproducable is the OOM?  Have you tested LPAE as much as you did
> without LPAE?
Hi Russel, OOM is reproduceable quite fine only on old uboot
and non-lpae mode.
With lpae mode and old uboot OOM doesn't happen, but the board is not
very reliable.
With old uboot and mem=3G OOM is not reproduceable!
With new uboot and whatever lpae more, OOM does not happen.
So, after all, it still seems to be related to the problematic memory
region. Let me know if you still suspect a bug and need more testing.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 13:03                 ` Stas Sergeev
@ 2015-03-12 13:12                   ` Russell King - ARM Linux
  -1 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:12 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

On Thu, Mar 12, 2015 at 04:03:07PM +0300, Stas Sergeev wrote:
> Yeah, I realize that, but I was hoping that some work-around
> exists. For example, move entire dimm above 4G? Is this really
> impossible? Or maybe move overlapping region above 8G...

You /really/ don't want to do that.  We have that situation on TI Keystone
SoCs and it's really horrible for the kernel to deal with.

For early kernel boot, we require RAM below the 4GB boundary, so that
we are able to execute code before the MMU is enabled.  No RAM below
4GB basically means there is no way to execute any code from RAM.

Keystone SoCs work around that by having an alias of RAM below 4GB,
and by doing some architecturally dubious, potentially fault-inducing
manipulation of the kernel page tables - so dubious that booting Linux
on Keystone SoCs with this leads us to print a big warning, and
immediately taint the kernel at the moment.

That's on my list of things which need to be worked on, subject to
commercial issues.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:12                   ` Russell King - ARM Linux
  0 siblings, 0 replies; 88+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 13:12 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 12, 2015 at 04:03:07PM +0300, Stas Sergeev wrote:
> Yeah, I realize that, but I was hoping that some work-around
> exists. For example, move entire dimm above 4G? Is this really
> impossible? Or maybe move overlapping region above 8G...

You /really/ don't want to do that.  We have that situation on TI Keystone
SoCs and it's really horrible for the kernel to deal with.

For early kernel boot, we require RAM below the 4GB boundary, so that
we are able to execute code before the MMU is enabled.  No RAM below
4GB basically means there is no way to execute any code from RAM.

Keystone SoCs work around that by having an alias of RAM below 4GB,
and by doing some architecturally dubious, potentially fault-inducing
manipulation of the kernel page tables - so dubious that booting Linux
on Keystone SoCs with this leads us to print a big warning, and
immediately taint the kernel at the moment.

That's on my list of things which need to be worked on, subject to
commercial issues.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 13:12                   ` Russell King - ARM Linux
@ 2015-03-12 13:16                     ` Stas Sergeev
  -1 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:16 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Thomas Petazzoni, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

12.03.2015 16:12, Russell King - ARM Linux пишет:
> On Thu, Mar 12, 2015 at 04:03:07PM +0300, Stas Sergeev wrote:
>> Yeah, I realize that, but I was hoping that some work-around
>> exists. For example, move entire dimm above 4G? Is this really
>> impossible? Or maybe move overlapping region above 8G...
> You /really/ don't want to do that.  We have that situation on TI Keystone
> SoCs and it's really horrible for the kernel to deal with.
>
> For early kernel boot, we require RAM below the 4GB boundary, so that
> we are able to execute code before the MMU is enabled.  No RAM below
> 4GB basically means there is no way to execute any code from RAM.
Then maybe it is possible to move the iomem to 1Gb and move
RAM above 1Gb, so that 3Gb of RAM are still available for early boot?
I mean, well, huh, giving up 256Mb of RAM so easily... :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:16                     ` Stas Sergeev
  0 siblings, 0 replies; 88+ messages in thread
From: Stas Sergeev @ 2015-03-12 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

12.03.2015 16:12, Russell King - ARM Linux ?????:
> On Thu, Mar 12, 2015 at 04:03:07PM +0300, Stas Sergeev wrote:
>> Yeah, I realize that, but I was hoping that some work-around
>> exists. For example, move entire dimm above 4G? Is this really
>> impossible? Or maybe move overlapping region above 8G...
> You /really/ don't want to do that.  We have that situation on TI Keystone
> SoCs and it's really horrible for the kernel to deal with.
>
> For early kernel boot, we require RAM below the 4GB boundary, so that
> we are able to execute code before the MMU is enabled.  No RAM below
> 4GB basically means there is no way to execute any code from RAM.
Then maybe it is possible to move the iomem to 1Gb and move
RAM above 1Gb, so that 3Gb of RAM are still available for early boot?
I mean, well, huh, giving up 256Mb of RAM so easily... :)

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 13:03                 ` Stas Sergeev
@ 2015-03-12 13:55                   ` Thomas Petazzoni
  -1 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-12 13:55 UTC (permalink / raw)
  To: Stas Sergeev
  Cc: Russell King - ARM Linux, Linux kernel, linux-arm-kernel,
	Gregory Clément, Catalin Marinas

Dear Stas Sergeev,

On Thu, 12 Mar 2015 16:03:07 +0300, Stas Sergeev wrote:

> > No, this is expected. Your physical address space is shared between RAM
> > and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
> > address space is where all the registers for your SoC and PCIe devices
> Yeah, I realize that, but I was hoping that some work-around
> exists. For example, move entire dimm above 4G? Is this really
> impossible? Or maybe move overlapping region above 8G...

I am not aware of any trick that would allow to do that, but I have
also never looked in the deep details of the Marvell memory controller
and what's possible to do with it.

Moving entire DIMM above 4G is clearly not possible: devices can only
do DMA on the first 32 bits of the physical address space. So if you
move all the physical memory above 4G, you don't have any memory left
for DMA.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 13:55                   ` Thomas Petazzoni
  0 siblings, 0 replies; 88+ messages in thread
From: Thomas Petazzoni @ 2015-03-12 13:55 UTC (permalink / raw)
  To: linux-arm-kernel

Dear Stas Sergeev,

On Thu, 12 Mar 2015 16:03:07 +0300, Stas Sergeev wrote:

> > No, this is expected. Your physical address space is shared between RAM
> > and I/O devices. So the space 0xf0000000 -> 0xffffffff in the physical
> > address space is where all the registers for your SoC and PCIe devices
> Yeah, I realize that, but I was hoping that some work-around
> exists. For example, move entire dimm above 4G? Is this really
> impossible? Or maybe move overlapping region above 8G...

I am not aware of any trick that would allow to do that, but I have
also never looked in the deep details of the Marvell memory controller
and what's possible to do with it.

Moving entire DIMM above 4G is clearly not possible: devices can only
do DMA on the first 32 bits of the physical address space. So if you
move all the physical memory above 4G, you don't have any memory left
for DMA.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 88+ messages in thread

* Re: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
  2015-03-12 13:11                     ` Stas Sergeev
@ 2015-03-12 15:34                       ` Vladimir Murzin
  -1 siblings, 0 replies; 88+ messages in thread
From: Vladimir Murzin @ 2015-03-12 15:34 UTC (permalink / raw)
  To: Stas Sergeev, Russell King - ARM Linux
  Cc: Catalin Marinas, Peter Hurley, linux-arm-kernel, Linux kernel

On 12/03/15 13:11, Stas Sergeev wrote:
> 12.03.2015 16:04, Russell King - ARM Linux пишет:
>> On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
>>> 12.03.2015 15:33, Peter Hurley пишет:
>>>> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>>>>> However, while testing, I've suddenly got another crash happened
>>>>> a bit earlier than the previous one used to happen: (OOM? How??)
>>>>> ---
>>>>> [    0.000000] Booting Linux on physical CPU 0x0
>>>>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>>>>> (root@host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>>>>> #2 SMP 5
>>>>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>>>>> cr=10c5387d
>>>>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>>>>> cache
>>>>> [    0.000000] Machine model: Marvell Armada XP Development Board
>>>>> DB-MV784MP-GP
>>>>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
>>>> Once you patch your bootloader, you'll want to configure your kernel
>>>> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
>>>> it's being ignored in this config right now (as shown above and in
>>>> the oom message below).
>>> Hi Peter, thanks for this hint.
>>> I actually already tried with lpae, and, except for the missing
>>> 256Mb, everything works properly. :)
>> How reproducable is the OOM?  Have you tested LPAE as much as you did
>> without LPAE?
> Hi Russel, OOM is reproduceable quite fine only on old uboot
> and non-lpae mode.
> With lpae mode and old uboot OOM doesn't happen, but the board is not
> very reliable.
> With old uboot and mem=3G OOM is not reproduceable!
> With new uboot and whatever lpae more, OOM does not happen.
> So, after all, it still seems to be related to the problematic memory
> region. Let me know if you still suspect a bug and need more testing.
> 

Hi Stas,

Recently, I've done some work on memtest kernel feature [1]. It helped
to track down an issue with memory corruption on arm64 platform.

I wonder if it is able to catch your case?

[1] http://comments.gmane.org/gmane.linux.kernel.mm/129669

Thanks
Vladimir

> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 



^ permalink raw reply	[flat|nested] 88+ messages in thread

* [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp
@ 2015-03-12 15:34                       ` Vladimir Murzin
  0 siblings, 0 replies; 88+ messages in thread
From: Vladimir Murzin @ 2015-03-12 15:34 UTC (permalink / raw)
  To: linux-arm-kernel

On 12/03/15 13:11, Stas Sergeev wrote:
> 12.03.2015 16:04, Russell King - ARM Linux ?????:
>> On Thu, Mar 12, 2015 at 03:47:35PM +0300, Stas Sergeev wrote:
>>> 12.03.2015 15:33, Peter Hurley ?????:
>>>> On 03/11/2015 10:24 AM, Stas Sergeev wrote:
>>>>> However, while testing, I've suddenly got another crash happened
>>>>> a bit earlier than the previous one used to happen: (OOM? How??)
>>>>> ---
>>>>> [    0.000000] Booting Linux on physical CPU 0x0
>>>>> [    0.000000] Linux version 4.0.0-rc2-00137-gb672c98-dirty
>>>>> (root at host-010-117) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )
>>>>> #2 SMP 5
>>>>> [    0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7),
>>>>> cr=10c5387d
>>>>> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction
>>>>> cache
>>>>> [    0.000000] Machine model: Marvell Armada XP Development Board
>>>>> DB-MV784MP-GP
>>>>> [    0.000000] Ignoring memory block 0x100000000 - 0x200000000
>>>> Once you patch your bootloader, you'll want to configure your kernel
>>>> for CONFIG_ARM_LPAE=y to enable the high 4GB of memory you have, as
>>>> it's being ignored in this config right now (as shown above and in
>>>> the oom message below).
>>> Hi Peter, thanks for this hint.
>>> I actually already tried with lpae, and, except for the missing
>>> 256Mb, everything works properly. :)
>> How reproducable is the OOM?  Have you tested LPAE as much as you did
>> without LPAE?
> Hi Russel, OOM is reproduceable quite fine only on old uboot
> and non-lpae mode.
> With lpae mode and old uboot OOM doesn't happen, but the board is not
> very reliable.
> With old uboot and mem=3G OOM is not reproduceable!
> With new uboot and whatever lpae more, OOM does not happen.
> So, after all, it still seems to be related to the problematic memory
> region. Let me know if you still suspect a bug and need more testing.
> 

Hi Stas,

Recently, I've done some work on memtest kernel feature [1]. It helped
to track down an issue with memory corruption on arm64 platform.

I wonder if it is able to catch your case?

[1] http://comments.gmane.org/gmane.linux.kernel.mm/129669

Thanks
Vladimir

> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

^ permalink raw reply	[flat|nested] 88+ messages in thread

end of thread, other threads:[~2015-03-12 15:34 UTC | newest]

Thread overview: 88+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-10 16:54 [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp Stas Sergeev
2015-03-10 16:54 ` Stas Sergeev
2015-03-10 17:17 ` Catalin Marinas
2015-03-10 17:17   ` Catalin Marinas
2015-03-10 17:27   ` Stas Sergeev
2015-03-10 17:27     ` Stas Sergeev
2015-03-10 17:38     ` Russell King - ARM Linux
2015-03-10 17:38       ` Russell King - ARM Linux
2015-03-10 18:31       ` Stas Sergeev
2015-03-10 18:31         ` Stas Sergeev
2015-03-10 18:54         ` Russell King - ARM Linux
2015-03-10 18:54           ` Russell King - ARM Linux
2015-03-11 12:30       ` Stas Sergeev
2015-03-11 12:30         ` Stas Sergeev
2015-03-11 12:47         ` Russell King - ARM Linux
2015-03-11 12:47           ` Russell King - ARM Linux
2015-03-11 14:24           ` Stas Sergeev
2015-03-11 14:24             ` Stas Sergeev
2015-03-11 16:30             ` Peter Hurley
2015-03-11 16:30               ` Peter Hurley
2015-03-11 16:39               ` Stas Sergeev
2015-03-11 16:39                 ` Stas Sergeev
2015-03-12 12:33             ` Peter Hurley
2015-03-12 12:33               ` Peter Hurley
2015-03-12 12:47               ` Stas Sergeev
2015-03-12 12:47                 ` Stas Sergeev
2015-03-12 13:04                 ` Russell King - ARM Linux
2015-03-12 13:04                   ` Russell King - ARM Linux
2015-03-12 13:11                   ` Stas Sergeev
2015-03-12 13:11                     ` Stas Sergeev
2015-03-12 15:34                     ` Vladimir Murzin
2015-03-12 15:34                       ` Vladimir Murzin
2015-03-12 12:59               ` Russell King - ARM Linux
2015-03-12 12:59                 ` Russell King - ARM Linux
2015-03-10 17:29 ` Russell King - ARM Linux
2015-03-10 17:29   ` Russell King - ARM Linux
2015-03-10 17:35 ` Peter Hurley
2015-03-10 17:35   ` Peter Hurley
2015-03-10 17:51   ` Stas Sergeev
2015-03-10 17:51     ` Stas Sergeev
2015-03-10 18:45     ` Peter Hurley
2015-03-10 18:45       ` Peter Hurley
2015-03-11 12:44 ` Gregory CLEMENT
2015-03-11 12:44   ` Gregory CLEMENT
2015-03-11 12:57   ` Stas Sergeev
2015-03-11 12:57     ` Stas Sergeev
2015-03-11 13:14   ` Russell King - ARM Linux
2015-03-11 13:14     ` Russell King - ARM Linux
2015-03-11 14:33     ` Stas Sergeev
2015-03-11 14:33       ` Stas Sergeev
2015-03-11 15:01     ` Stas Sergeev
2015-03-11 15:01       ` Stas Sergeev
2015-03-11 15:13       ` Gregory CLEMENT
2015-03-11 15:13         ` Gregory CLEMENT
2015-03-11 15:22         ` Stas Sergeev
2015-03-11 15:22           ` Stas Sergeev
2015-03-12 13:06           ` Russell King - ARM Linux
2015-03-12 13:06             ` Russell King - ARM Linux
2015-03-11 16:52 ` Thomas Petazzoni
2015-03-11 16:52   ` Thomas Petazzoni
2015-03-11 17:26   ` Stas Sergeev
2015-03-11 17:26     ` Stas Sergeev
2015-03-11 17:46     ` Russell King - ARM Linux
2015-03-11 17:46       ` Russell King - ARM Linux
2015-03-11 17:56       ` Stas Sergeev
2015-03-11 17:56         ` Stas Sergeev
2015-03-11 18:11         ` Thomas Petazzoni
2015-03-11 18:11           ` Thomas Petazzoni
2015-03-11 18:38           ` Stas Sergeev
2015-03-11 18:38             ` Stas Sergeev
2015-03-11 18:41             ` Russell King - ARM Linux
2015-03-11 18:41               ` Russell King - ARM Linux
2015-03-11 18:08       ` Stas Sergeev
2015-03-11 18:08         ` Stas Sergeev
2015-03-11 18:33         ` Thomas Petazzoni
2015-03-11 18:33           ` Thomas Petazzoni
2015-03-12 12:44           ` Stas Sergeev
2015-03-12 12:44             ` Stas Sergeev
2015-03-12 12:47             ` Thomas Petazzoni
2015-03-12 12:47               ` Thomas Petazzoni
2015-03-12 13:03               ` Stas Sergeev
2015-03-12 13:03                 ` Stas Sergeev
2015-03-12 13:12                 ` Russell King - ARM Linux
2015-03-12 13:12                   ` Russell King - ARM Linux
2015-03-12 13:16                   ` Stas Sergeev
2015-03-12 13:16                     ` Stas Sergeev
2015-03-12 13:55                 ` Thomas Petazzoni
2015-03-12 13:55                   ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.