From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Michael Petlan <mpetlan@redhat.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 12/12] perf header: Use last modification time for timestamp
Date: Thu, 16 Jan 2020 10:48:14 -0300 [thread overview]
Message-ID: <20200116134814.8811-13-acme@kernel.org> (raw)
In-Reply-To: <20200116134814.8811-1-acme@kernel.org>
From: Michael Petlan <mpetlan@redhat.com>
Using .st_ctime clobbers the timestamp information in perf report header
whenever any operation is done with the file. Even tar-ing and untar-ing
the perf.data file (which preserves the file last modification timestamp)
doesn't prevent that:
[Michael@Diego tmp]$ ls -l perf.data
-> -rw-------. 1 Michael Michael 169888 Dec 2 15:23 perf.data
[Michael@Diego tmp]$ perf report --header-only
# ========
-> # captured on : Mon Dec 2 15:23:42 2019
[...]
[Michael@Diego tmp]$ tar c perf.data | xz > perf.data.tar.xz
[Michael@Diego tmp]$ mkdir aaa
[Michael@Diego tmp]$ cd aaa
[Michael@Diego aaa]$ xzcat ../perf.data.tar.xz | tar x
[Michael@Diego aaa]$ ls -l -a
total 172
drwxrwxr-x. 2 Michael Michael 23 Jan 14 11:26 .
drwxrwxr-x. 6 Michael Michael 4096 Jan 14 11:26 ..
-> -rw-------. 1 Michael Michael 169888 Dec 2 15:23 perf.data
[Michael@Diego aaa]$ perf report --header-only
# ========
-> # captured on : Tue Jan 14 11:26:16 2020
[...]
When using .st_mtime instead, correct information is printed:
[Michael@Diego aaa]$ ~/acme/tools/perf/perf report --header-only
# ========
-> # captured on : Mon Dec 2 15:23:42 2019
[...]
Signed-off-by: Michael Petlan <mpetlan@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
LPU-Reference: 20200114104236.31555-1-mpetlan@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
| 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 93ad27830e2b..4246e7447e54 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -2922,7 +2922,7 @@ int perf_header__fprintf_info(struct perf_session *session, FILE *fp, bool full)
if (ret == -1)
return -1;
- stctime = st.st_ctime;
+ stctime = st.st_mtime;
fprintf(fp, "# captured on : %s", ctime(&stctime));
fprintf(fp, "# header version : %u\n", header->version);
--
2.21.1
next prev parent reply other threads:[~2020-01-16 13:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-16 13:48 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 01/12] perf clang: Fix build with Clang 9 Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 02/12] tools build: Fix test-clang.cpp with Clang 8+ Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 03/12] perf report: Clarify in help that --children is default Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 04/12] perf tools: Support --prefix/--prefix-strip Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 05/12] perf report: Fix no libunwind compiled warning break s390 issue Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 06/12] libperf: Setup initial evlist::all_cpus value Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 07/12] perf tools: Use %define api.pure full instead of %pure-parser Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 08/12] perf ui gtk: Add missing zalloc object Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 09/12] perf/ui/gtk: Fix gtk2 build Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 10/12] perf beauty sockaddr: Fix augmented syscall format warning Arnaldo Carvalho de Melo
2020-01-16 13:48 ` [PATCH 11/12] perf c2c: Fix return type for histogram sorting comparision functions Arnaldo Carvalho de Melo
2020-01-16 13:48 ` Arnaldo Carvalho de Melo [this message]
2020-01-20 8:23 ` [GIT PULL] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200116134814.8811-13-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mpetlan@redhat.com \
--cc=namhyung@kernel.org \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox