[PATCH v4] Retry Large Buffer Allocations
Ben Gardiner
bengardiner at nanometrics.ca
Fri Apr 8 10:45:20 EDT 2011
Hi Grant, Artem
Thanks for this fix!
On Thu, Apr 7, 2011 at 1:40 PM, Grant Erickson <marathon96 at gmail.com> wrote:
> When handling user space read or write requests via mtd_{read,write}
> or JFFS2 medium scan requests, exponentially back off on the size of
> the requested kernel transfer buffer until it succeeds or until the
> requested transfer buffer size falls below the page size.
>
> This helps ensure the operation can succeed under low-memory,
> highly-fragmented situations albeit somewhat more slowly.
>
> v2: Incorporated coding style and comment feedback from Artem.
> v3: Incorporated more feedback from Artem. Retargeted patch against
> l2-mtd-2.6.
> v4: Incorporated feedback from Artem about compilation on 64-bit
> architectures.
>
> Signed-off-by: Grant Erickson <marathon96 at gmail.com>
I tested this on da850evm by cherry-picking commit
64542ac252d378dc7a1122064821a884e85a9954 from
git://git.infradead.org/users/dedekind/l2-mtd-2.6.git.
I have a memory hole @32M (bootargs: mem=32M at 0xc0000000
mem=64M at 0xc4000000) and I was also (like Bastian) getting "ubiformat:
page allocation failure" errors. Cherry-picking this commit fixed the
problem for me; I was able to do 3x repeated ubiformats without error.
Tested-by: Ben Gardiner <bengardiner at nanometrics.ca>
Best Regards,
Ben Gardiner
---
Nanometrics Inc.
http://www.nanometrics.ca
More information about the linux-mtd
mailing list