kernel-ark/arch/ia64/kernel
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
..
acpi-ext.c
acpi.c
asm-offsets.c
brl_emu.c
cyclone.c
domain.c
efi_stub.S
efi.c
entry.h
entry.S [IA64] In ia64_leave_syscall(), fix comments and whitespace only. 2005-04-27 21:18:22 -07:00
fsys.S
gate-data.S
gate.lds.S
gate.S
head.S
ia64_ksyms.c [IA64] __ia64_syscall() is no longer used anywhere in the kernel. Remove it. 2005-04-27 21:10:45 -07:00
init_task.c
iosapic.c [IA64] iosapic.c: typo ... s/spin_unlock_irq/spin_unlock/ 2005-04-25 13:27:48 -07:00
irq_ia64.c [IA64] vector sharing (Large I/O system support) 2005-04-25 13:26:23 -07:00
irq_lsapic.c
irq.c
ivt.S [IA64] Reschedule break_fault() for better performance. 2005-04-27 21:19:04 -07:00
machvec.c
Makefile
mca_asm.S
mca_drv_asm.S
mca_drv.c
mca_drv.h
mca.c
minstate.h
module.c
pal.S
palinfo.c
patch.c
perfmon_default_smpl.c [IA64] perfmon: make pfm_sysctl a global, and other cleanup 2005-04-25 13:08:30 -07:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon.c [IA64] perfmon: make pfm_sysctl a global, and other cleanup 2005-04-25 13:08:30 -07:00
process.c
ptrace.c
sal.c
salinfo.c
semaphore.c
setup.c [IA64] print "siblings" before {physical,core,thread} id 2005-04-25 13:27:12 -07:00
sigframe.h
signal.c
smp.c
smpboot.c [IA64] multi-core/multi-thread identification 2005-04-25 13:25:06 -07:00
sys_ia64.c
time.c
topology.c
traps.c
unaligned.c
unwind_decoder.c
unwind_i.h
unwind.c
vmlinux.lds.S