lkml.org 
[lkml]   [2015]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] perf record: Fix perf.data size in no-buildid mode
From
Date

ping..
On 2015/5/28 21:17, He Kuang wrote:
> The size of perf.data is missing update in no-buildid mode, which gives
> wrong output result.
>
> Before this patch:
>
> $ perf.perf record -B -e syscalls:sys_enter_open uname
> Linux
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.000 MB perf.data ]
>
> After this patch:
>
> $ perf.perf record -B -e syscalls:sys_enter_open uname
> Linux
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.001 MB perf.data ]
>
> Signed-off-by: He Kuang <hekuang@huawei.com>
> ---
> tools/perf/builtin-record.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 91aa2a3..d3731cc 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -345,12 +345,9 @@ static int process_buildids(struct record *rec)
> struct perf_data_file *file = &rec->file;
> struct perf_session *session = rec->session;
>
> - u64 size = lseek(perf_data_file__fd(file), 0, SEEK_CUR);
> - if (size == 0)
> + if (file->size == 0)
> return 0;
>
> - file->size = size;
> -
> /*
> * During this process, it'll load kernel map and replace the
> * dso->long_name to a real pathname it found. In this case
> @@ -719,6 +716,7 @@ out_child:
>
> if (!err && !file->is_pipe) {
> rec->session->header.data_size += rec->bytes_written;
> + file->size = lseek(perf_data_file__fd(file), 0, SEEK_CUR);
>
> if (!rec->no_buildid) {
> process_buildids(rec);
>



\
 
 \ /
  Last update: 2015-06-05 14:01    [W:0.667 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site