From: Chris Mason <clm@fb.com>
To: Marc MERLIN <marc@merlins.org>
Cc: "linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: btrfs-rmw-2: page allocation failure: order:1, mode:0x8020
Date: Thu, 20 Mar 2014 00:13:36 +0000 [thread overview]
Message-ID: <CF4FA917.20FD%clm@fb.com> (raw)
In-Reply-To: <20140319223723.GU18959@merlins.org>
On 3/19/14, 6:37 PM, "Marc MERLIN" <marc@merlins.org> wrote:
>On Wed, Mar 19, 2014 at 12:20:08PM -0400, Chris Mason wrote:
>> On 03/19/2014 11:45 AM, Marc MERLIN wrote:
>> >My server died last night during a btrfs send/receive to a btrfs radi5
>> >array
>> >
>> >Here are the logs. Is this anything known or with a possible
>>workaround?
>> >
>> >Thanks,
>> >Marc
>> >
>> >btrfs-rmw-2: page allocation failure: order:1, mode:0x8020
>>
>> This is an order 1 atomic allocation from the mvs driver, we really
>> should not be depending on that to get IO done. A quick search and it
>> looks like we're allocating MVS_SLOT_BUF_SZ (8192) bytes.
>>
>> You could try bumping the lowmem reserves.
>
>Thanks for the info.
>
>So for now, I have
>CONFIG_X86_RESERVE_LOW=64
>
>This is the option we're talking about, right?
>
>Should I double it?
>
>For now, I have the copy running again, and it's been going for 8 hours
>without failure on the old kernel but of course that doesn't mean my 2TB
>copy will complete without hitting the bug again.
Sorry, I misspoke, you should bump /proc/sys/vm/min_free_kbytes. Honestly
though, it¹s just a bug in the mvs driver. Atomic 8K allocations are
doomed to fail eventually.
The driver should either busy loop until the allocation completes (really
not a great choice), gracefully deal with the failure (looks tricky), or
preallocate the space (like the rest of the block layer).
-chris
next prev parent reply other threads:[~2014-03-20 0:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-19 15:45 btrfs-rmw-2: page allocation failure: order:1, mode:0x8020 Marc MERLIN
2014-03-19 16:20 ` Chris Mason
2014-03-19 22:37 ` Marc MERLIN
2014-03-20 0:13 ` Chris Mason [this message]
2014-03-20 0:20 ` Marc MERLIN
2014-03-20 1:01 ` Chris Mason
2014-03-20 6:19 ` Duncan
2014-03-20 13:50 ` Chris Mason
[not found] <20140320054129.GS6143@merlins.org>
2014-03-30 4:26 ` Marc MERLIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CF4FA917.20FD%clm@fb.com \
--to=clm@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=marc@merlins.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.