• Jiri Olsa's avatar
    perf symbols: Add dso data caching · 4dff624a
    Jiri Olsa authored
    Adding dso data caching so we don't need to open/read/close, each time
    we want dso data.
    
    The DSO data caching affects following functions:
      dso__data_read_offset
      dso__data_read_addr
    
    Each DSO read tries to find the data (based on offset) inside the cache.
    If it's not present it fills the cache from file, and returns the data.
    If it is present, data are returned with no file read.
    
    Each data read is cached by reading cache page sized/aligned amount of
    DSO data. The cache page size is hardcoded to 4096.  The cache is using
    RB tree with file offset as a sort key.
    Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Arun Sharma <asharma@fb.com>
    Cc: Benjamin Redelings <benjamin.redelings@nescent.org>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Cc: Frank Ch. Eigler <fche@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Robert Richter <robert.richter@amd.com>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Tom Zanussi <tzanussi@gmail.com>
    Cc: Ulrich Drepper <drepper@gmail.com>
    Link: http://lkml.kernel.org/r/1342959280-5361-17-git-send-email-jolsa@redhat.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    4dff624a
symbol.c 70.8 KB