linux/arch
David Mosberger-Tang f8fa5448fc [IA64] Reschedule break_fault() for better performance.
This patch reorganizes break_fault() to optimistically assume that a
system-call is being performed from user-space (which is almost always
the case).  If it turns out that (a) we're not being called due to a
system call or (b) we're being called from within the kernel, we fixup
the no-longer-valid assumptions in non_syscall() and .break_fixup(),
respectively.

With this approach, there are 3 major phases:

 - Phase 1: Read various control & application registers, in
	    particular the current task pointer from AR.K6.
 - Phase 2: Do all memory loads (load system-call entry,
	    load current_thread_info()->flags, prefetch
	    kernel register-backing store) and switch
	    to kernel register-stack.
 - Phase 3: Call ia64_syscall_setup() and invoke
	    syscall-handler.

Good for 26-30 cycles of improvement on break-based syscall-path.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-27 21:19:04 -07:00
..
alpha [PATCH] alpha: key management syscalls 2005-04-21 11:28:26 -07:00
arm [PATCH] ARM: make entry*.S includes more logical 2005-04-26 15:21:02 +01:00
arm26 [PATCH] freepgt: arm26 FIRST_USER_ADDRESS PAGE_SIZE 2005-04-19 13:29:22 -07:00
cris Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
frv Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
h8300 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i386 [PATCH] fix subarch breakage in amd dual core updates 2005-04-21 16:20:35 -07:00
ia64 [IA64] Reschedule break_fault() for better performance. 2005-04-27 21:19:04 -07:00
m32r Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
m68k [PATCH] M68k: Update defconfigs for 2.6.12-rc2 2005-04-18 10:47:34 -07:00
m68knommu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mips [PATCH] mips: remove #include <linux/audit.h> two times 2005-04-16 15:24:41 -07:00
parisc [PATCH] add Big Endian variants of ioread/iowrite 2005-04-16 15:25:54 -07:00
ppc [PATCH] ppc user annotations: debug_setconetext(2) 2005-04-25 07:55:59 -07:00
ppc64 [PATCH] ppc64: trivial user annotations 2005-04-26 11:26:53 -07:00
s390 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sh [PATCH] fix u32 vs. pm_message_t in rest of the tree 2005-04-16 15:25:37 -07:00
sh64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparc [SPARC]: dump_stack for sparc 2005-04-24 20:46:49 -07:00
sparc64 [PATCH] mostek bogus sparse annotations fixed 2005-04-24 12:28:36 -07:00
um [PATCH] uml: fix compilation for __CHOOSE_MODE addition 2005-04-16 15:25:39 -07:00
v850 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
x86_64 [PATCH] amd64 rt_sigframe user annotation 2005-04-26 07:43:42 -07:00