2006-05-08 14:07:46

by Con Kolivas

[permalink] [raw]
Subject: [PATCH] mm: swap prefetch sched batch

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, &param);
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