From: Mel Gorman <mel@csn.ul.ie>
To: Frans Pop <elendil@planet.nl>, Jiri Kosina <jkosina@suse.cz>,
Sven Geggus <lists@fuchsschwanzdomain.de>,
Karol Lewandowski <karol.k.lewandowski@gmail.com>,
Tobias Oetiker <tobi@oetiker.ch>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
David Miller <davem@davemloft.net>,
Reinette Chatre <reinette.chatre@intel.com>,
Kalle Valo <kalle.valo@iki.fi>,
David Rientjes <rientjes@google.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mohamed Abbas <mohamed.abbas@intel.com>,
Jens Axboe <jens.axboe@oracle.com>,
"John W. Linville" <linville@tuxdriver.com>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Greg Kroah-Hartman <gregkh@suse.de>,
Stephan von Krawczynski <skraw@ithnet.com>,
Kernel Testers List <kernel-testers@vger.kernel.org>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
"linux-mm@kvack.org\"" <linux-mm@kvack.org>,
Mel Gorman <mel@csn.ul.ie>
Subject: [PATCH 0/5] Candidate fix for increased number of GFP_ATOMIC failures V2
Date: Thu, 22 Oct 2009 15:22:31 +0100 [thread overview]
Message-ID: <1256221356-26049-1-git-send-email-mel@csn.ul.ie> (raw)
Sorry for the large cc list. Variations of this bug have cropped up in a
number of different places and so there are a fair few people that should
be vaguely aware of what's going on.
Since 2.6.31-rc1, there have been an increasing number of GFP_ATOMIC
failures. A significant number of these have been high-order GFP_ATOMIC
failures and while they are generally brushed away, there has been a large
increase in them recently and there are a number of possible areas the
problem could be in - core vm, page writeback and a specific driver. The
bugs affected by this that I am aware of are;
[Bug #14141] order 2 page allocation failures in iwlagn
Commit 4752c93c30441f98f7ed723001b1a5e3e5619829 introduced GFP_ATOMIC
allocations within the wireless driver. This has caused large numbers
of failure reports to occur as reported by Frans Pop. Fixing this
requires changes to the driver if it wants to use GFP_ATOMIC which
is in the hands of Mohamed Abbas and Reinette Chatre. However,
it is very likely that it has being compounded by core mm changes
that this series is aimed at.
[Bug #14141] order 2 page allocation failures (generic)
This problem is being tracked under bug #14141 but chances are it's
unrelated to the wireless change. Tobi Oetiker has reported that a
virtualised machine using a bridged interface is reporting a small
number of order-5 GFP_ATOMIC failures. He has reported that the
errors can be suppressed with kswapd patches in this series. However,
I would like to confirm they are necessary.
[Bug #14265] ifconfig: page allocation failure. order:5, mode:0x8020 w/ e100
Karol Lewandows reported that e100 fails to allocate order-5
GFP_ATOMIC when loading firmware during resume. This has started
happening relatively recent.
[No BZ ID] Kernel crash on 2.6.31.x (kcryptd: page allocation failure..)
This apparently is easily reproducible, particular in comparison to
the other reports. The point of greatest interest is that this is
order-0 GFP_ATOMIC failures. Sven, I'm hoping that you in particular
will be able to follow the tests below as you are the most likely
person to have an easily reproducible situation.
[No BZ ID] page allocation failure message kernel 2.6.31.4 (tty-related)
reported at: http://lkml.org/lkml/2009/10/20/139. Looks the same
as the order-2 failures.
There are 5 patches in this series. For people affected by this bug,
I'm afraid there is a lot of legwork involved to help pin down which of
these patches are relevant. These patches are all against 2.6.32-rc5 and
have been tested on X86 and X86-64 by running the sysbench benchmark to
completion. I'll post against 2.6.31.4 where necessary.
Test 1: Verify your problem occurs on 2.6.32-rc5 if you can
Test 2: Apply the following two patches and test again
1/5 page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed
2/5 page allocator: Do not allow interrupts to use ALLOC_HARDER
These patches correct problems introduced by me during the 2.6.31-rc1
merge window. The patches were not meant to introduce any functional
changes but two were missed.
If your problem goes away with just these two patches applied,
please tell me.
Test 3: If you are getting allocation failures, try with the following patch
3/5 vmscan: Force kswapd to take notice faster when high-order watermarks are being hit
This is a functional change that causes kswapd to notice sooner
when high-order watermarks have been hit. There have been a number
of changes in page reclaim since 2.6.30 that might have delayed
when kswapd kicks in for higher orders
If your problem goes away with these three patches applied, please
tell me
Test 4: If you are still getting failures, apply the following
4/5 page allocator: Pre-emptively wake kswapd when high-order watermarks are hit
This patch is very heavy handed and pre-emptively kicks kswapd when
watermarks are hit. It should only be necessary if there has been
significant changes in the timing and density of page allocations
from an unknown source. Tobias, this patch is largely aimed at you.
You reported that with patches 3+4 applied that your problems went
away. I need to know if patch 3 on its own is enough or if both
are required
If your problem goes away with these four patches applied, please
tell me
Test 5: If things are still screwed, apply the following
5/5 Revert 373c0a7e, 8aa7e847: Fix congestion_wait() sync/async vs read/write confusion
Frans Pop reports that the bulk of his problems go away when this
patch is reverted on 2.6.31. There has been some confusion on why
exactly this patch was wrong but apparently the conversion was not
complete and further work was required. It's unknown if all the
necessary work exists in 2.6.31-rc5 or not. If there are still
allocation failures and applying this patch fixes the problem,
there are still snags that need to be ironed out.
Test 6: If only testing 2.6.31.4, test with patches 1, 2 and 5 as posted for that kernel
Even if patches 3, 4 or both are necessary against mainline, I'm
hoping they are unnecessary against -stable.
Thanks to all that reported problems and are testing this. The major bulk of
the work was done by Frans Pop so a big thanks to him in particular. I/we owe
him beers.
arch/x86/lib/usercopy_32.c | 2 +-
drivers/block/pktcdvd.c | 10 ++++------
drivers/md/dm-crypt.c | 2 +-
fs/fat/file.c | 2 +-
fs/fuse/dev.c | 8 ++++----
fs/nfs/write.c | 8 +++-----
fs/reiserfs/journal.c | 2 +-
fs/xfs/linux-2.6/kmem.c | 4 ++--
fs/xfs/linux-2.6/xfs_buf.c | 2 +-
include/linux/backing-dev.h | 11 +++--------
include/linux/blkdev.h | 13 +++++++++----
mm/backing-dev.c | 7 ++++---
mm/memcontrol.c | 2 +-
mm/page-writeback.c | 2 +-
mm/page_alloc.c | 41 ++++++++++++++++++++++++++---------------
mm/vmscan.c | 17 +++++++++++++----
16 files changed, 75 insertions(+), 58 deletions(-)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2009-10-22 14:22 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-22 14:22 Mel Gorman [this message]
2009-10-22 14:22 ` [PATCH 1/5] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed Mel Gorman
2009-10-22 14:24 ` [PATCH 1/5 Against 2.6.31.4] " Mel Gorman
2009-10-22 14:41 ` [PATCH 1/5] " Pekka Enberg
2009-10-22 15:49 ` Mel Gorman
2009-10-26 1:11 ` KOSAKI Motohiro
2009-10-26 7:10 ` David Rientjes
2009-10-27 2:42 ` KOSAKI Motohiro
2009-10-27 12:27 ` Mel Gorman
2009-10-22 14:22 ` [PATCH 2/5] page allocator: Do not allow interrupts to use ALLOC_HARDER Mel Gorman
2009-10-22 16:33 ` Stephan von Krawczynski
2009-10-22 16:37 ` Mel Gorman
2009-10-23 9:57 ` Stephan von Krawczynski
2009-10-24 2:03 ` Christoph Lameter
2009-10-27 15:19 ` Mel Gorman
2009-10-25 12:57 ` Stephan von Krawczynski
2009-10-26 1:15 ` KOSAKI Motohiro
2009-10-22 14:22 ` [PATCH 3/5] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit Mel Gorman
2009-10-23 17:52 ` Vincent Li
2009-10-23 22:12 ` Vincent Li
2009-10-27 10:38 ` Mel Gorman
2009-10-27 2:42 ` KOSAKI Motohiro
2009-10-22 14:22 ` [PATCH 4/5] page allocator: Pre-emptively wake kswapd when high-order watermarks are hit Mel Gorman
2009-10-22 19:41 ` David Rientjes
2009-10-23 9:13 ` Mel Gorman
2009-10-23 9:36 ` David Rientjes
2009-10-23 11:25 ` Mel Gorman
2009-10-23 11:31 ` Tobias Oetiker
2009-10-23 13:39 ` Mel Gorman
2009-10-27 2:42 ` KOSAKI Motohiro
2009-10-27 15:26 ` Mel Gorman
2009-10-22 14:22 ` [PATCH 5/5] ONLY-APPLY-IF-STILL-FAILING Revert 373c0a7e, 8aa7e847: Fix congestion_wait() sync/async vs read/write confusion Mel Gorman
2009-10-22 14:25 ` Against 2.6.31.4 [PATCH 5/5] " Mel Gorman
2009-10-22 21:49 ` [PATCH 5/5] ONLY-APPLY-IF-STILL-FAILING " Jens Axboe
2009-10-27 2:42 ` KOSAKI Motohiro
2009-10-27 10:29 ` Frans Pop
2009-10-22 14:47 ` [PATCH 0/5] Candidate fix for increased number of GFP_ATOMIC failures V2 Pekka Enberg
2009-10-22 16:03 ` Mel Gorman
2009-10-24 1:52 ` Christoph Lameter
2009-10-24 6:48 ` Pekka Enberg
2009-10-24 6:48 ` Pekka Enberg
2009-10-22 15:43 ` reinette chatre
2009-10-27 10:40 ` Mel Gorman
2009-10-27 23:34 ` reinette chatre
2009-10-23 7:31 ` Sven Geggus
2009-10-23 16:58 ` Karol Lewandowski
2009-10-23 21:12 ` Karol Lewandowski
2009-10-24 13:46 ` Mel LKML
2009-10-28 11:42 ` Karol Lewandowski
2009-10-28 11:59 ` Mel Gorman
2009-10-30 14:23 ` Karol Lewandowski
2009-11-02 20:30 ` Mel Gorman
2009-11-04 2:03 ` Karol Lewandowski
2009-10-28 12:55 ` Tobi Oetiker
2009-10-24 13:51 ` Frans Pop
2009-10-24 14:02 ` Sven Geggus
2009-10-27 13:27 ` Mel Gorman
2009-10-26 17:37 ` Tobias Oetiker
2009-10-27 15:36 ` Mel Gorman
2009-10-26 22:17 ` Frans Pop
2009-10-26 23:45 ` Frans Pop
2009-11-06 6:03 ` Tobias Diedrich
2009-11-06 9:24 ` Mel Gorman
2009-11-06 9:24 ` Mel Gorman
2009-11-06 11:15 ` Tobias Diedrich
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=1256221356-26049-1-git-send-email-mel@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=bzolnier@gmail.com \
--cc=davem@davemloft.net \
--cc=elendil@planet.nl \
--cc=gregkh@suse.de \
--cc=jens.axboe@oracle.com \
--cc=jkosina@suse.cz \
--cc=kalle.valo@iki.fi \
--cc=karol.k.lewandowski@gmail.com \
--cc=kernel-testers@vger.kernel.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linville@tuxdriver.com \
--cc=lists@fuchsschwanzdomain.de \
--cc=mohamed.abbas@intel.com \
--cc=netdev@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=reinette.chatre@intel.com \
--cc=rientjes@google.com \
--cc=rjw@sisk.pl \
--cc=skraw@ithnet.com \
--cc=tobi@oetiker.ch \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox