diff options
author | David S. Miller <davem@davemloft.net> | 2005-04-18 01:03:11 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-18 01:03:11 (GMT) |
commit | dadeafdfc8da8c27e5a68e0706b9856eaac89391 (patch) | |
tree | 17993d26e93e598a2f449063fe213afad2a45814 /arch/sparc64/kernel/signal32.c | |
parent | fb65b9619b756793d824df7501c895a2c2871f40 (diff) | |
download | linux-fsl-qoriq-dadeafdfc8da8c27e5a68e0706b9856eaac89391.tar.xz |
[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>
Diffstat (limited to 'arch/sparc64/kernel/signal32.c')
0 files changed, 0 insertions, 0 deletions