Messages in this thread | | | Date | Thu, 28 Jul 2005 10:16:22 +0200 | From | Ingo Molnar <> | Subject | Re: Add prefetch switch stack hook in scheduler function |
| |
* Keith Owens <kaos@ocs.com.au> wrote:
> >yeah. I'd too suggest to call it prefetch_stack(), and not make it a > >macro & hook but something defined on all arches, with for now only ia64 > >having any real code in the inline function. > > > >i'm wondering, is the switch_stack at the same/similar place as > >next->thread_info? If yes then we could simply do a > >prefetch(next->thread_info). > > No, they can be up to 30K apart. See include/asm-ia64/ptrace.h. > thread_info is at ~0xda0, depending on the config. The switch_stack > can be as high as 0x7bd0 in the kernel stack, depending on why the > task is sleeping.
is the switch_stack the same thing as the kernel stack? If yes then we want to have something like:
prefetch(kernel_stack(next));
to make it more generic. By default kernel_stack(next) could be next->thread_info (to make sure we prefetch something real). On e.g. x86/x64, kernel_stack(next) should be something like next->thread.esp.
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |