mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
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 <[email protected]> Cc: David Ahern <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Stephane Eranian <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
a6a69db4b6
commit
6d363459d7
2 changed files with 24 additions and 0 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in a new issue