Subject: [PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp

From: [email-masked] (Stas Sergeev)
Date: Thu, 12 Mar 2015 16:11:50 +0300

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.