Re: Add prefetch switch stack hook in scheduler function

From: Ingo Molnar
Date: Thu Jul 28 2005 - 04:21:02 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> next->mm we might want to prefetch, but it's probably not worth it
> because we are referencing it too soon, in context_switch(). (while
> the kernel stack itself wont be referenced until the full
> context-switch is done) But might be worth trying - but even then, it
> should be done from the generic code, like the thread_info and
> kernel-stack prefetching.

the patch below adds next->mm prefetching too, ontop of the previous
patch.

Ingo

------

cache-prefetch next->mm too.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

kernel/sched.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)

Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -2866,10 +2866,11 @@ go_idle:

/*
* Cache-prefetch crutial memory areas of the next task,
- * its thread_info and its kernel stack:
+ * its thread_info, its kernel stack and mm:
*/
prefetch(next->thread_info);
prefetch(kernel_stack(next));
+ prefetch(next->mm);

if (!rt_task(next) && next->activated > 0) {
unsigned long long delta = now - next->timestamp;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/