summaryrefslogtreecommitdiffstats
path: root/mm/util.c
diff options
context:
space:
mode:
authorSonny Rao <sonnyrao@chromium.org>2012-12-20 15:05:07 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-20 17:40:18 -0800
commitc8b74c2f6604923de91f8aa6539f8bb934736754 (patch)
tree2aa7cefdda54d71d6a8b9387914fb475514a1bd0 /mm/util.c
parent010fc29a45a2e8dbc08bf45ef80b8622619aaae0 (diff)
downloadlinux-stable-c8b74c2f6604923de91f8aa6539f8bb934736754.tar.gz
linux-stable-c8b74c2f6604923de91f8aa6539f8bb934736754.tar.bz2
linux-stable-c8b74c2f6604923de91f8aa6539f8bb934736754.zip
mm: fix calculation of dirtyable memory
The system uses global_dirtyable_memory() to calculate number of dirtyable pages/pages that can be allocated to the page cache. A bug causes an underflow thus making the page count look like a big unsigned number. This in turn confuses the dirty writeback throttling to aggressively write back pages as they become dirty (usually 1 page at a time). This generally only affects systems with highmem because the underflowed count gets subtracted from the global count of dirtyable memory. The problem was introduced with v3.2-4896-gab8fabd Fix is to ensure we don't get an underflowed total of either highmem or global dirtyable memory. Signed-off-by: Sonny Rao <sonnyrao@chromium.org> Signed-off-by: Puneet Kumar <puneetster@chromium.org> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Tested-by: Damien Wyart <damien.wyart@free.fr> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/util.c')
0 files changed, 0 insertions, 0 deletions