mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
dadeafdfc8
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> |
||
---|---|---|
.. | ||
auxio.c | ||
binfmt_aout32.c | ||
binfmt_elf32.c | ||
central.c | ||
chmc.c | ||
cpu.c | ||
devices.c | ||
dtlb_backend.S | ||
dtlb_base.S | ||
dtlb_prot.S | ||
ebus.c | ||
entry.S | ||
etrap.S | ||
head.S | ||
idprom.c | ||
init_task.c | ||
ioctl32.c | ||
iommu_common.c | ||
iommu_common.h | ||
irq.c | ||
isa.c | ||
itlb_base.S | ||
kprobes.c | ||
Makefile | ||
module.c | ||
pci_common.c | ||
pci_impl.h | ||
pci_iommu.c | ||
pci_psycho.c | ||
pci_sabre.c | ||
pci_schizo.c | ||
pci.c | ||
power.c | ||
process.c | ||
ptrace.c | ||
rtrap.S | ||
sbus.c | ||
semaphore.c | ||
setup.c | ||
signal32.c | ||
signal.c | ||
smp.c | ||
sparc64_ksyms.c | ||
starfire.c | ||
sunos_ioctl32.c | ||
sys32.S | ||
sys_sparc32.c | ||
sys_sparc.c | ||
sys_sunos32.c | ||
systbls.S | ||
time.c | ||
trampoline.S | ||
traps.c | ||
ttable.S | ||
unaligned.c | ||
us2e_cpufreq.c | ||
us3_cpufreq.c | ||
vmlinux.lds.S | ||
winfixup.S |