perf tools: Add dso__data_size()
Add a function to return the dso data size, for use in estimating the size an instruction cache. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1406035081-14301-27-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
a6a69db4b6
Коммит
6d363459d7
|
@ -544,6 +544,28 @@ static int data_file_size(struct dso *dso)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* dso__data_size - Return dso data size
|
||||
* @dso: dso object
|
||||
* @machine: machine object
|
||||
*
|
||||
* Return: dso data size
|
||||
*/
|
||||
off_t dso__data_size(struct dso *dso, struct machine *machine)
|
||||
{
|
||||
int fd;
|
||||
|
||||
fd = dso__data_fd(dso, machine);
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
|
||||
if (data_file_size(dso))
|
||||
return -1;
|
||||
|
||||
/* For now just estimate dso data size is close to file size */
|
||||
return dso->data.file_size;
|
||||
}
|
||||
|
||||
static ssize_t data_read_offset(struct dso *dso, u64 offset,
|
||||
u8 *data, ssize_t size)
|
||||
{
|
||||
|
|
|
@ -166,6 +166,7 @@ int dso__read_binary_type_filename(const struct dso *dso, enum dso_binary_type t
|
|||
* The dso__data_* external interface provides following functions:
|
||||
* dso__data_fd
|
||||
* dso__data_close
|
||||
* dso__data_size
|
||||
* dso__data_read_offset
|
||||
* dso__data_read_addr
|
||||
*
|
||||
|
@ -203,6 +204,7 @@ int dso__read_binary_type_filename(const struct dso *dso, enum dso_binary_type t
|
|||
int dso__data_fd(struct dso *dso, struct machine *machine);
|
||||
void dso__data_close(struct dso *dso);
|
||||
|
||||
off_t dso__data_size(struct dso *dso, struct machine *machine);
|
||||
ssize_t dso__data_read_offset(struct dso *dso, struct machine *machine,
|
||||
u64 offset, u8 *data, ssize_t size);
|
||||
ssize_t dso__data_read_addr(struct dso *dso, struct map *map,
|
||||
|
|
Загрузка…
Ссылка в новой задаче