From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Adrian Hunter <adrian.hunter@intel.com>,
David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 06/10] perf units: Move parse_tag_value() to units.[ch]
Date: Wed, 3 May 2017 10:58:22 -0300 [thread overview]
Message-ID: <20170503135826.28675-7-acme@kernel.org> (raw)
In-Reply-To: <20170503135826.28675-1-acme@kernel.org>
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Its basically to do units handling, so move to a more appropriately
named object.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-90ob9vfepui24l8l2makhd9u@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/units.c | 29 +++++++++++++++++++++++++++++
tools/perf/util/units.h | 7 +++++++
tools/perf/util/util.c | 27 ---------------------------
tools/perf/util/util.h | 7 -------
4 files changed, 36 insertions(+), 34 deletions(-)
diff --git a/tools/perf/util/units.c b/tools/perf/util/units.c
index f6a2a3d117d5..4767ec2c5ef6 100644
--- a/tools/perf/util/units.c
+++ b/tools/perf/util/units.c
@@ -1,8 +1,37 @@
#include "units.h"
#include <inttypes.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
#include <linux/kernel.h>
#include <linux/time64.h>
+unsigned long parse_tag_value(const char *str, struct parse_tag *tags)
+{
+ struct parse_tag *i = tags;
+
+ while (i->tag) {
+ char *s = strchr(str, i->tag);
+
+ if (s) {
+ unsigned long int value;
+ char *endptr;
+
+ value = strtoul(str, &endptr, 10);
+ if (s != endptr)
+ break;
+
+ if (value > ULONG_MAX / i->mult)
+ break;
+ value *= i->mult;
+ return value;
+ }
+ i++;
+ }
+
+ return (unsigned long) -1;
+}
+
unsigned long convert_unit(unsigned long value, char *unit)
{
*unit = ' ';
diff --git a/tools/perf/util/units.h b/tools/perf/util/units.h
index 3ed7774afaa9..f02c87317150 100644
--- a/tools/perf/util/units.h
+++ b/tools/perf/util/units.h
@@ -4,6 +4,13 @@
#include <stddef.h>
#include <linux/types.h>
+struct parse_tag {
+ char tag;
+ int mult;
+};
+
+unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
+
unsigned long convert_unit(unsigned long value, char *unit);
int unit_number__scnprintf(char *buf, size_t size, u64 n);
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
index b460f0db84d1..28c9f335006c 100644
--- a/tools/perf/util/util.c
+++ b/tools/perf/util/util.c
@@ -334,33 +334,6 @@ int hex2u64(const char *ptr, u64 *long_val)
return p - ptr;
}
-unsigned long parse_tag_value(const char *str, struct parse_tag *tags)
-{
- struct parse_tag *i = tags;
-
- while (i->tag) {
- char *s;
-
- s = strchr(str, i->tag);
- if (s) {
- unsigned long int value;
- char *endptr;
-
- value = strtoul(str, &endptr, 10);
- if (s != endptr)
- break;
-
- if (value > ULONG_MAX / i->mult)
- break;
- value *= i->mult;
- return value;
- }
- i++;
- }
-
- return (unsigned long) -1;
-}
-
int perf_event_paranoid(void)
{
int value;
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index dabdc810ffdc..d620719775a8 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -59,13 +59,6 @@ int hex2u64(const char *ptr, u64 *val);
extern unsigned int page_size;
extern int cacheline_size;
-struct parse_tag {
- char tag;
- int mult;
-};
-
-unsigned long parse_tag_value(const char *str, struct parse_tag *tags);
-
bool find_process(const char *name);
int fetch_kernel_version(unsigned int *puint,
--
2.9.3
next prev parent reply other threads:[~2017-05-03 13:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-03 13:58 [GIT PULL 00/10] perf/core improvements and fixes Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 01/10] perf buildid: Move prototypes from util.h to build-id.h Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 02/10] perf tools: Move event prototypes from util.h to event.h Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 03/10] perf memswap: Split the byteswap memory range wrappers from util.[ch] Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 04/10] perf tools: Move HAS_BOOL define to where perl headers are used Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 05/10] perf ui gtk: Move gtk .so name to the only place where it is used Arnaldo Carvalho de Melo
2017-05-03 13:58 ` Arnaldo Carvalho de Melo [this message]
2017-05-03 13:58 ` [PATCH 07/10] tools lib string: Adopt prefixcmp() from perf and subcmd Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 08/10] perf symbols: Accept symbols starting at address 0 Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 09/10] perf symbols: Allow user probes on versioned symbols Arnaldo Carvalho de Melo
2017-05-03 13:58 ` [PATCH 10/10] perf config: Refactor a duplicated code for obtaining config file name Arnaldo Carvalho de Melo
2017-05-03 17:30 ` [GIT PULL 00/10] 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=20170503135826.28675-7-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=wangnan0@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.