projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f074a8f
)
proc: add cond_resched to /proc/kpage* read/write loop
author
Vladimir Davydov
<
[email protected]
>
Wed, 9 Sep 2015 22:35:51 +0000
(15:35 -0700)
committer
Linus Torvalds
<
[email protected]
>
Thu, 10 Sep 2015 20:29:01 +0000
(13:29 -0700)
Reading/writing a /proc/kpage* file may take long on machines with a lot
of RAM installed.
Signed-off-by: Vladimir Davydov <
[email protected]
>
Suggested-by: Andres Lagar-Cavilla <
[email protected]
>
Reviewed-by: Andres Lagar-Cavilla <
[email protected]
>
Cc: Minchan Kim <
[email protected]
>
Cc: Raghavendra K T <
[email protected]
>
Cc: Johannes Weiner <
[email protected]
>
Cc: Michal Hocko <
[email protected]
>
Cc: Greg Thelen <
[email protected]
>
Cc: Michel Lespinasse <
[email protected]
>
Cc: David Rientjes <
[email protected]
>
Cc: Pavel Emelyanov <
[email protected]
>
Cc: Cyrill Gorcunov <
[email protected]
>
Cc: Jonathan Corbet <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
fs/proc/page.c
patch
|
blob
|
history
diff --git
a/fs/proc/page.c
b/fs/proc/page.c
index 0b8286450a939b3cb6e1dc4dc282a9155970baad..93484034a03d04c38cc5ff7779fb95e7611fbd09 100644
(file)
--- a/
fs/proc/page.c
+++ b/
fs/proc/page.c
@@
-58,6
+58,8
@@
static ssize_t kpagecount_read(struct file *file, char __user *buf,
pfn++;
out++;
count -= KPMSIZE;
+
+ cond_resched();
}
*ppos += (char __user *)out - buf;
@@
-219,6
+221,8
@@
static ssize_t kpageflags_read(struct file *file, char __user *buf,
pfn++;
out++;
count -= KPMSIZE;
+
+ cond_resched();
}
*ppos += (char __user *)out - buf;
@@
-267,6
+271,8
@@
static ssize_t kpagecgroup_read(struct file *file, char __user *buf,
pfn++;
out++;
count -= KPMSIZE;
+
+ cond_resched();
}
*ppos += (char __user *)out - buf;