mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 01:21:58 +00:00
[PATCH] Prefetch kernel stacks to speed up context switch
For architecture like ia64, the switch stack structure is fairly large (currently 528 bytes). For context switch intensive application, we found that significant amount of cache misses occurs in switch_to() function. The following patch adds a hook in the schedule() function to prefetch switch stack structure as soon as 'next' task is determined. This allows maximum overlap in prefetch cache lines for that structure. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b0d62e6d5b
commit
383f2835eb
4 changed files with 30 additions and 0 deletions
|
@ -275,6 +275,7 @@ extern void ia64_load_extra (struct task_struct *task);
|
|||
*/
|
||||
#define __ARCH_WANT_UNLOCKED_CTXSW
|
||||
|
||||
#define ARCH_HAS_PREFETCH_SWITCH_STACK
|
||||
#define ia64_platform_is(x) (strcmp(x, platform_name) == 0)
|
||||
|
||||
void cpu_idle_wait(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue