Re: Add prefetch switch stack hook in scheduler function

Ingo Molnar
2005-07-28T09:19:01Z

* Ingo Molnar <mingo@elte.hu> 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@elte.hu>

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;