[PATCH 0/3 V3] Cache code access for disassemble

Yao Qi
2013-11-21T01:18:30Z

Hi,
This is the V3 of this patch series. Most of the patches were
committed because they are cleanups, and V3 only has three patches.

Patch 1/3 is to rename some functions and variables related to
"stack-cache", to address review comments in V2 that we find they are
improper. Patch 2/3 is to add commands "set/show code-cache", and we
choose a way that "both stack cache and code cache use the single global
dcache, and transitions of either options will invalidate the dcache".
Patch 3/3 is unchanged.

The performance improvement is measured by gdb.perf/disassemble.exp,
posted https://sourceware.org/ml/gdb-patches/2013-11/msg00574.html
(note that gdb.perf/disassemble.py is modified to flush code cache after
each run)

Original Patched
disassemble cpu_time 0 0.49 0.16
disassemble cpu_time 1 0.93 0.21
disassemble cpu_time 2 1.35 0.33
disassemble wall_time 0 0.722337007523 0.167083024979
disassemble wall_time 1 1.37996888161 0.215560913086
disassemble wall_time 2 2.07086896896 0.323045969009
disassemble vmsize 0 151000 150880
disassemble vmsize 1 151692 151740
disassemble vmsize 2 151692 151740

Regression tested x86_64-linux.

*** BLURB HERE ***

Yao Qi (3):
Renaming in target-dcache.c
set/show code-cache
Use target_read_code in disassemble.

gdb/NEWS | 6 ++++
gdb/disasm.c | 2 +-
gdb/doc/gdb.texinfo | 16 +++++++++-
gdb/target-dcache.c | 81 +++++++++++++++++++++++++++++++++++++++++---------
gdb/target-dcache.h | 4 ++-
gdb/target.c | 23 ++++++++++++--
gdb/target.h | 5 +++
7 files changed, 115 insertions(+), 22 deletions(-)

--
1.7.7.6