Files
linux-apfs/include/linux
Andrea Arcangeli d527caf22e mm: compaction: prevent kswapd compacting memory to reduce CPU usage
This patch reverts 5a03b051 ("thp: use compaction in kswapd for GFP_ATOMIC
order > 0") due to reports stating that kswapd CPU usage was higher and
IRQs were being disabled more frequently.  This was reported at
http://www.spinics.net/linux/fedora/alsa-user/msg09885.html.

Without this patch applied, CPU usage by kswapd hovers around the 20% mark
according to the tester (Arthur Marsh:
http://www.spinics.net/linux/fedora/alsa-user/msg09899.html).  With this
patch applied, it's around 2%.

The problem is not related to THP which specifies __GFP_NO_KSWAPD but is
triggered by high-order allocations hitting the low watermark for their
order and waking kswapd on kernels with CONFIG_COMPACTION set.  The most
common trigger for this is network cards configured for jumbo frames but
it's also possible it'll be triggered by fork-heavy workloads (order-1)
and some wireless cards which depend on order-1 allocations.

The symptoms for the user will be high CPU usage by kswapd in low-memory
situations which could be confused with another writeback problem.  While
a patch like 5a03b051 may be reintroduced in the future, this patch plays
it safe for now and reverts it.

[mel@csn.ul.ie: Beefed up the changelog]
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Reported-by: Arthur Marsh <arthur.marsh@internode.on.net>
Tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: <stable@kernel.org>		[2.6.38.1]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-22 17:44:00 -07:00
..
2011-03-18 23:38:50 -07:00
2011-01-20 18:30:17 -08:00
2011-01-20 18:30:17 -08:00
2011-01-31 14:03:00 -08:00
2011-03-22 17:43:59 -07:00
2011-02-16 13:30:48 +01:00
2011-02-16 13:30:48 +01:00
2011-02-03 15:39:16 -08:00
2011-03-14 19:12:20 -04:00
2011-03-17 21:31:32 -04:00
2011-03-04 17:53:39 -08:00
2011-03-05 10:56:00 +01:00
2011-02-23 00:53:26 +00:00
2011-03-20 14:50:53 +01:00
2011-02-27 16:11:51 -08:00
2011-03-11 14:15:35 +01:00
2011-01-31 14:03:00 -08:00
2011-02-17 11:12:40 -08:00
2011-02-01 08:23:22 +10:00
2011-02-13 16:54:24 -08:00
2011-01-24 14:45:11 +10:30
2011-03-22 17:43:59 -07:00
2011-02-15 10:24:31 +01:00
2011-03-11 15:38:44 -05:00
2011-03-14 18:25:53 -04:00
2011-03-11 15:13:26 -05:00
2011-03-15 00:43:16 +01:00
2011-02-28 18:00:31 -08:00
2011-02-21 12:53:08 -08:00
2011-02-02 15:28:18 +01:00
2011-01-24 14:45:11 +10:30