From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755592AbcBCKUM (ORCPT ); Wed, 3 Feb 2016 05:20:12 -0500 Received: from terminus.zytor.com ([198.137.202.10]:54792 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751384AbcBCKUI (ORCPT ); Wed, 3 Feb 2016 05:20:08 -0500 Date: Wed, 3 Feb 2016 02:18:53 -0800 From: tip-bot for Wang Nan Message-ID: Cc: ast@kernel.org, will.deacon@arm.com, tglx@linutronix.de, daniel@iogearbox.net, hpa@zytor.com, hekuang@huawei.com, mingo@kernel.org, namhyung@kernel.org, masami.hiramatsu.pt@hitachi.com, jolsa@kernel.org, peterz@infradead.org, brendan.d.gregg@gmail.com, wangnan0@huawei.com, acme@redhat.com, linux-kernel@vger.kernel.org, lizefan@huawei.com Reply-To: acme@redhat.com, wangnan0@huawei.com, linux-kernel@vger.kernel.org, lizefan@huawei.com, brendan.d.gregg@gmail.com, mingo@kernel.org, hekuang@huawei.com, jolsa@kernel.org, peterz@infradead.org, namhyung@kernel.org, masami.hiramatsu.pt@hitachi.com, tglx@linutronix.de, will.deacon@arm.com, ast@kernel.org, hpa@zytor.com, daniel@iogearbox.net In-Reply-To: <1453715801-7732-27-git-send-email-wangnan0@huawei.com> References: <1453715801-7732-27-git-send-email-wangnan0@huawei.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/core] perf tools: Move timestamp creation to util Git-Commit-ID: 37b20151efe002a4a43532d3791d11d39d080248 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 37b20151efe002a4a43532d3791d11d39d080248 Gitweb: http://git.kernel.org/tip/37b20151efe002a4a43532d3791d11d39d080248 Author: Wang Nan AuthorDate: Mon, 25 Jan 2016 09:56:13 +0000 Committer: Arnaldo Carvalho de Melo CommitDate: Fri, 29 Jan 2016 17:30:06 -0300 perf tools: Move timestamp creation to util Timestamp generation becomes a public available helper. Which will be used by 'perf record', help it output to split output file based on time. For example: perf.data.2015122620363710 perf.data.2015122620364092 perf.data.2015122620365423 ... Signed-off-by: Wang Nan Cc: Alexei Starovoitov Cc: Brendan Gregg Cc: Daniel Borkmann Cc: He Kuang Cc: Jiri Olsa Cc: Li Zefan Cc: Masami Hiramatsu Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Will Deacon Cc: Zefan Li Cc: pi3orama@163.com Link: http://lkml.kernel.org/r/1453715801-7732-27-git-send-email-wangnan0@huawei.com Signed-off-by: He Kuang Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-buildid-cache.c | 14 +------------- tools/perf/util/util.c | 17 +++++++++++++++++ tools/perf/util/util.h | 1 + 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildid-cache.c index d93bff7..632efc6 100644 --- a/tools/perf/builtin-buildid-cache.c +++ b/tools/perf/builtin-buildid-cache.c @@ -38,19 +38,7 @@ static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid) static int build_id_cache__kcore_dir(char *dir, size_t sz) { - struct timeval tv; - struct tm tm; - char dt[32]; - - if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm)) - return -1; - - if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm)) - return -1; - - scnprintf(dir, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000); - - return 0; + return fetch_current_timestamp(dir, sz); } static bool same_kallsyms_reloc(const char *from_dir, char *to_dir) diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 7a2da7e..b9e2843 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -701,3 +701,20 @@ bool is_regular_file(const char *file) return S_ISREG(st.st_mode); } + +int fetch_current_timestamp(char *buf, size_t sz) +{ + struct timeval tv; + struct tm tm; + char dt[32]; + + if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm)) + return -1; + + if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm)) + return -1; + + scnprintf(buf, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000); + + return 0; +} diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index 61650f0..a861581 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -344,5 +344,6 @@ int fetch_kernel_version(unsigned int *puint, const char *perf_tip(const char *dirpath); bool is_regular_file(const char *file); +int fetch_current_timestamp(char *buf, size_t sz); #endif /* GIT_COMPAT_UTIL_H */