kprefetchd is a latency insensitive ultra low priority task. Set it to
SCHED_BATCH to obtain the benefit of this scheduling policy hint.
Signed-off-by: Con Kolivas <[email protected]>
---
mm/swap_prefetch.c | 3 +++
1 files changed, 3 insertions(+)
Index: linux-2.6.17-rc3-mm1/mm/swap_prefetch.c
===================================================================
--- linux-2.6.17-rc3-mm1.orig/mm/swap_prefetch.c 2006-05-08 23:56:17.000000000 +1000
+++ linux-2.6.17-rc3-mm1/mm/swap_prefetch.c 2006-05-09 00:00:21.000000000 +1000
@@ -504,6 +504,9 @@ static enum trickle_return trickle_swap(
static int kprefetchd(void *__unused)
{
+ struct sched_param param = { .sched_priority = 0 };
+
+ sched_setscheduler(current, SCHED_BATCH, ¶m);
set_user_nice(current, 19);
/* Set ioprio to lowest if supported by i/o scheduler */
sys_ioprio_set(IOPRIO_WHO_PROCESS, 0, IOPRIO_CLASS_IDLE);
--
-ck