When dso_cache__read() is called, it reads data from the given offset using lseek + normal read syscall. It can be combined to a single pread syscall.
Signed-off-by: Namhyung Kim <namhy...@kernel.org> --- tools/perf/util/dso.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index d8ee1fd826e7..95c8d5a2b934 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -593,10 +593,7 @@ dso_cache__read(struct dso *dso, struct machine *machine, } } - if (-1 == lseek(dso->data.fd, cache_offset, SEEK_SET)) - goto err_unlock; - - ret = read(dso->data.fd, cache->data, DSO__DATA_CACHE_SIZE); + ret = pread(dso->data.fd, cache->data, DSO__DATA_CACHE_SIZE, cache_offset); if (ret <= 0) goto err_unlock; -- 2.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/