diff options
author | John Crispin <blogic@openwrt.org> | 2015-02-11 10:17:55 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2015-02-11 10:17:55 +0000 |
commit | c291f76d24a4190551a42b7b77a2cfeb3f4d36f9 (patch) | |
tree | 8f9211217d7e2cbaa78d10b596d81e646b3b9aad /target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch | |
parent | 0e26998162921c65cbfe2814e500c81ca7b50dad (diff) | |
download | master-187ad058-c291f76d24a4190551a42b7b77a2cfeb3f4d36f9.tar.gz master-187ad058-c291f76d24a4190551a42b7b77a2cfeb3f4d36f9.tar.bz2 master-187ad058-c291f76d24a4190551a42b7b77a2cfeb3f4d36f9.zip |
brcm2708: update to v3.18
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44392 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch')
-rwxr-xr-x | target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch b/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch new file mode 100755 index 0000000000..4826a871eb --- /dev/null +++ b/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch @@ -0,0 +1,32 @@ +From de30840b98e508ea9d650570686e35b1a64c900c Mon Sep 17 00:00:00 2001 +From: popcornmix <popcornmix@gmail.com> +Date: Wed, 18 Jun 2014 13:42:01 +0100 +Subject: [PATCH 044/114] vmstat: Workaround for issue where dirty page count + goes negative + +See: +https://github.com/raspberrypi/linux/issues/617 +http://www.spinics.net/lists/linux-mm/msg72236.html +--- + include/linux/vmstat.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h +index 82e7db7..f87d16d 100644 +--- a/include/linux/vmstat.h ++++ b/include/linux/vmstat.h +@@ -241,7 +241,11 @@ static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item) + static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item) + { + atomic_long_dec(&zone->vm_stat[item]); ++ if (item == NR_FILE_DIRTY && unlikely(atomic_long_read(&zone->vm_stat[item]) < 0)) ++ atomic_long_set(&zone->vm_stat[item], 0); + atomic_long_dec(&vm_stat[item]); ++ if (item == NR_FILE_DIRTY && unlikely(atomic_long_read(&vm_stat[item]) < 0)) ++ atomic_long_set(&vm_stat[item], 0); + } + + static inline void __inc_zone_page_state(struct page *page, +-- +1.8.3.2 + |