Re: 4.14-rc2 on thinkpad x220: out of memory when inserting mmc card

From: Adrian Hunter
Date: Tue Oct 03 2017 - 02:37:09 EST


On 02/10/17 17:09, Linus Walleij wrote:
> On Sun, Oct 1, 2017 at 12:57 PM, Tetsuo Handa
> <penguin-kernel@xxxxxxxxxxxxxxxxxxx> wrote:
>
>>>> I inserted u-SD card, only to realize that it is not detected as it
>>>> should be. And dmesg indeed reveals:
>>>
>>> Tetsuo asked me to report this to linux-mm.
>>>
>>> But 2^4 is 16 pages, IIRC that can't be expected to work reliably, and
>>> thus this sounds like MMC bug, not mm bug.
>
>
> I'm not sure I fully understand this error message:
> "worker/2:1: page allocation failure: order:4"
>
> What I guess from context is that the mmc_init_request()
> call is failing to allocate 16 pages, meaning for 4K pages
> 64KB which is the typical bounce buffer.
>
> This is what the code has always allocated as bounce buffer,
> but it used to happen upfront, when probing the MMC block layer,
> rather than when allocating the requests.

That is not exactly right. As I already wrote, the memory allocation used
to be optional but became mandatory with:

commit 304419d8a7e9204c5d19b704467b814df8c8f5b1
Author: Linus Walleij <linus.walleij@xxxxxxxxxx>
Date: Thu May 18 11:29:32 2017 +0200

mmc: core: Allocate per-request data using the block layer core