Linux Archive

Linux Archive (
-   Ubuntu Kernel Team (
-   -   kswapd consumes CPU during heavy I/O (

Colin King 06-17-2011 10:06 AM

kswapd consumes CPU during heavy I/O
From: Colin Ian King <>

SRU Request:

System hangs have been observed when performing heavy I/O on
sandybridge systems with small memory footprints (for example,
less than 2GB of memory). kswapd consumes all the CPU and the
machine effectively becomes unusable because kswapd is missing
every cond_resched(). Also, we need to invert the logic in
commit 1741c877 ("mm: kswapd: keep kswapd awake for high-order
allocations until a percentage of the node is balanced") to
allow kswapd to go to sleep when balanced for high orders.

Testing involved multiply copying ~600MB of files from an install
image on a laptop with 2GB of memory. A 2.5 hour (150 iteration)
soak test cannot trip the hang with these patches, where as
without them the bug occurs in the first 5 to 30 iterations.


Patches cherry-picked from upstream and are in GregKH's stable

Johannes Weiner (1):
mm: vmscan: correct use of pgdat_balanced in sleeping_prematurely

Minchan Kim (1):
mm: vmscan: correctly check if reclaimer should schedule during

mm/vmscan.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)

kernel-team mailing list

All times are GMT. The time now is 01:32 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.