linux/arch/sparc64/kernel
David S. Miller dadeafdfc8 [PATCH] sparc64: Reduce ptrace cache flushing
We were flushing the D-cache excessively for ptrace() processing
and this makes debugging threads so slow as to be totally unusable.

All process page accesses via ptrace() go via access_process_vm().
This routine, for each process page, uses get_user_pages().  That
in turn does a flush_dcache_page() on the child pages before we
copy in/out the ptrace request data.

Therefore, all we need to do after the data movement is:

1) Flush the D-cache pages if the kernel maps the page to a different
   color than userspace does.
2) If we wrote to the page, we need to flush the I-cache on older cpus.

Previously we just flushed the entire cache at the end of a ptrace()
request, and that was beyond stupid.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-17 18:03:11 -07:00
..
auxio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_aout32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
central.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
chmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devices.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_backend.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_base.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_prot.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ebus.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
etrap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itlb_base.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_psycho.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_sabre.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_schizo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
power.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.c [PATCH] sparc64: Reduce ptrace cache flushing 2005-04-17 18:03:11 -07:00
rtrap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sbus.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparc64_ksyms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
starfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunos_ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys32.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sparc32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sparc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sunos32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
systbls.S [PATCH] sparc64: use message queue compat syscalls 2005-04-17 18:03:10 -07:00
time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
trampoline.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ttable.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
us2e_cpufreq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
us3_cpufreq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
winfixup.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00