All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, David Ahern <dsahern@gmail.com>,
	Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>,
	Jiri Olsa <jolsa@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 09/23] perf bench mem: Change 'cycle' to 'cycles'
Date: Mon, 19 Oct 2015 18:39:20 -0300	[thread overview]
Message-ID: <1445290774-13344-10-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1445290774-13344-1-git-send-email-acme@kernel.org>

From: Ingo Molnar <mingo@kernel.org>

So 'perf bench mem memset/memcpy' has a CPU cycles measurement method,
but calls it 'cycle' (singular) throughout the code, which makes it
harder to read.

Rename all related functions, variables and options to a plural 'cycles'
nomenclature.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1445241870-24854-8-git-send-email-mingo@kernel.org
[ s/--cycle/--cycles/g in perf-bench man page ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-bench.txt |  4 +--
 tools/perf/bench/mem-functions.c        | 56 ++++++++++++++++-----------------
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/tools/perf/Documentation/perf-bench.txt b/tools/perf/Documentation/perf-bench.txt
index 9cb60abe03aa..17135ef92d70 100644
--- a/tools/perf/Documentation/perf-bench.txt
+++ b/tools/perf/Documentation/perf-bench.txt
@@ -154,7 +154,7 @@ On x86-64, x86-64-unrolled, x86-64-movsq and x86-64-movsb are supported.
 Repeat memcpy invocation this number of times.
 
 -c::
---cycle::
+--cycles::
 Use perf's cpu-cycles event instead of gettimeofday syscall.
 
 *memset*::
@@ -178,7 +178,7 @@ On x86-64, x86-64-unrolled, x86-64-stosq and x86-64-stosb are supported.
 Repeat memset invocation this number of times.
 
 -c::
---cycle::
+--cycles::
 Use perf's cpu-cycles event instead of gettimeofday syscall.
 
 SUITES FOR 'numa'
diff --git a/tools/perf/bench/mem-functions.c b/tools/perf/bench/mem-functions.c
index 9c18a4b976b6..6fe8667fbdf2 100644
--- a/tools/perf/bench/mem-functions.c
+++ b/tools/perf/bench/mem-functions.c
@@ -26,8 +26,8 @@
 static const char	*length_str	= "1MB";
 static const char	*routine	= "all";
 static int		iterations	= 1;
-static bool		use_cycle;
-static int		cycle_fd;
+static bool		use_cycles;
+static int		cycles_fd;
 
 static const struct option options[] = {
 	OPT_STRING('l', "length", &length_str, "1MB",
@@ -37,8 +37,8 @@ static const struct option options[] = {
 		    "Specify routine to copy, \"all\" runs all available routines"),
 	OPT_INTEGER('i', "iterations", &iterations,
 		    "repeat memcpy() invocation this number of times"),
-	OPT_BOOLEAN('c', "cycle", &use_cycle,
-		    "Use cycles event instead of gettimeofday() for measuring"),
+	OPT_BOOLEAN('c', "cycles", &use_cycles,
+		    "Use a cycles event instead of gettimeofday() to measure performance"),
 	OPT_END()
 };
 
@@ -78,22 +78,22 @@ static struct perf_event_attr cycle_attr = {
 	.config		= PERF_COUNT_HW_CPU_CYCLES
 };
 
-static void init_cycle(void)
+static void init_cycles(void)
 {
-	cycle_fd = sys_perf_event_open(&cycle_attr, getpid(), -1, -1, perf_event_open_cloexec_flag());
+	cycles_fd = sys_perf_event_open(&cycle_attr, getpid(), -1, -1, perf_event_open_cloexec_flag());
 
-	if (cycle_fd < 0 && errno == ENOSYS)
+	if (cycles_fd < 0 && errno == ENOSYS)
 		die("No CONFIG_PERF_EVENTS=y kernel support configured?\n");
 	else
-		BUG_ON(cycle_fd < 0);
+		BUG_ON(cycles_fd < 0);
 }
 
-static u64 get_cycle(void)
+static u64 get_cycles(void)
 {
 	int ret;
 	u64 clk;
 
-	ret = read(cycle_fd, &clk, sizeof(u64));
+	ret = read(cycles_fd, &clk, sizeof(u64));
 	BUG_ON(ret != sizeof(u64));
 
 	return clk;
@@ -117,7 +117,7 @@ static double timeval2double(struct timeval *ts)
 
 struct bench_mem_info {
 	const struct routine *routines;
-	u64 (*do_cycle)(const struct routine *r, size_t len);
+	u64 (*do_cycles)(const struct routine *r, size_t len);
 	double (*do_gettimeofday)(const struct routine *r, size_t len);
 	const char *const *usage;
 };
@@ -126,31 +126,31 @@ static void __bench_mem_routine(struct bench_mem_info *info, int r_idx, size_t l
 {
 	const struct routine *r = &info->routines[r_idx];
 	double result_bps = 0.0;
-	u64 result_cycle = 0;
+	u64 result_cycles = 0;
 
 	printf("Routine %s (%s)\n", r->name, r->desc);
 
 	if (bench_format == BENCH_FORMAT_DEFAULT)
 		printf("# Copying %s Bytes ...\n\n", length_str);
 
-	if (use_cycle) {
-		result_cycle = info->do_cycle(r, len);
+	if (use_cycles) {
+		result_cycles = info->do_cycles(r, len);
 	} else {
 		result_bps = info->do_gettimeofday(r, len);
 	}
 
 	switch (bench_format) {
 	case BENCH_FORMAT_DEFAULT:
-		if (use_cycle) {
-			printf(" %14lf Cycle/Byte\n", (double)result_cycle/totallen);
+		if (use_cycles) {
+			printf(" %14lf cycles/Byte\n", (double)result_cycles/totallen);
 		} else {
 			print_bps(result_bps);
 		}
 		break;
 
 	case BENCH_FORMAT_SIMPLE:
-		if (use_cycle) {
-			printf("%lf\n", (double)result_cycle/totallen);
+		if (use_cycles) {
+			printf("%lf\n", (double)result_cycles/totallen);
 		} else {
 			printf("%lf\n", result_bps);
 		}
@@ -170,8 +170,8 @@ static int bench_mem_common(int argc, const char **argv, struct bench_mem_info *
 
 	argc = parse_options(argc, argv, options, info->usage, 0);
 
-	if (use_cycle)
-		init_cycle();
+	if (use_cycles)
+		init_cycles();
 
 	len = (size_t)perf_atoll((char *)length_str);
 	totallen = (double)len * iterations;
@@ -220,7 +220,7 @@ static void memcpy_alloc_mem(void **dst, void **src, size_t length)
 	memset(*src, 0, length);
 }
 
-static u64 do_memcpy_cycle(const struct routine *r, size_t len)
+static u64 do_memcpy_cycles(const struct routine *r, size_t len)
 {
 	u64 cycle_start = 0ULL, cycle_end = 0ULL;
 	void *src = NULL, *dst = NULL;
@@ -235,10 +235,10 @@ static u64 do_memcpy_cycle(const struct routine *r, size_t len)
 	 */
 	fn(dst, src, len);
 
-	cycle_start = get_cycle();
+	cycle_start = get_cycles();
 	for (i = 0; i < iterations; ++i)
 		fn(dst, src, len);
-	cycle_end = get_cycle();
+	cycle_end = get_cycles();
 
 	free(src);
 	free(dst);
@@ -277,7 +277,7 @@ int bench_mem_memcpy(int argc, const char **argv, const char *prefix __maybe_unu
 {
 	struct bench_mem_info info = {
 		.routines		= memcpy_routines,
-		.do_cycle		= do_memcpy_cycle,
+		.do_cycles		= do_memcpy_cycles,
 		.do_gettimeofday	= do_memcpy_gettimeofday,
 		.usage			= bench_mem_memcpy_usage,
 	};
@@ -292,7 +292,7 @@ static void memset_alloc_mem(void **dst, size_t length)
 		die("memory allocation failed - maybe length is too large?\n");
 }
 
-static u64 do_memset_cycle(const struct routine *r, size_t len)
+static u64 do_memset_cycles(const struct routine *r, size_t len)
 {
 	u64 cycle_start = 0ULL, cycle_end = 0ULL;
 	memset_t fn = r->fn.memset;
@@ -307,10 +307,10 @@ static u64 do_memset_cycle(const struct routine *r, size_t len)
 	 */
 	fn(dst, -1, len);
 
-	cycle_start = get_cycle();
+	cycle_start = get_cycles();
 	for (i = 0; i < iterations; ++i)
 		fn(dst, i, len);
-	cycle_end = get_cycle();
+	cycle_end = get_cycles();
 
 	free(dst);
 	return cycle_end - cycle_start;
@@ -365,7 +365,7 @@ int bench_mem_memset(int argc, const char **argv, const char *prefix __maybe_unu
 {
 	struct bench_mem_info info = {
 		.routines		= memset_routines,
-		.do_cycle		= do_memset_cycle,
+		.do_cycles		= do_memset_cycles,
 		.do_gettimeofday	= do_memset_gettimeofday,
 		.usage			= bench_mem_memset_usage,
 	};
-- 
2.1.0


  parent reply	other threads:[~2015-10-19 21:41 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-19 21:39 [GIT PULL 00/23] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 01/23] perf test: Silence tracepoint event failures Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 02/23] perf test: Suppress libtraceevent warnings Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 03/23] perf bench: Improve the 'perf bench mem memcpy' code readability Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 04/23] perf bench: Default to all routines in 'perf bench mem' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 05/23] perf bench: Eliminate unused argument from bench_mem_common() Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 06/23] perf bench: Rename 'mem-memcpy.c' => 'mem-functions.c' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 07/23] perf bench: Remove the prefaulting complication from 'perf bench mem mem*' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 08/23] perf bench: List output formatting options on 'perf bench -h' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` Arnaldo Carvalho de Melo [this message]
2015-10-19 21:39 ` [PATCH 10/23] perf bench mem: Rename 'routine' to 'routine_str' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 11/23] perf bench mem: Fix 'length' vs. 'size' naming confusion Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 12/23] perf bench mem: Improve user visible strings Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 13/23] perf bench mem: Reorganize the code a bit Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 14/23] perf bench: Harmonize all the -l/--nr_loops options Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 15/23] perf bench mem: Rename 'routine' to 'function' Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 16/23] perf bench: Run benchmarks, don't test them Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 17/23] perf help: Change 'usage' to 'Usage' for consistency Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 18/23] perf stat: Rename perf_stat struct into perf_stat_evsel Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 19/23] perf stat: Add AGGR_UNSET mode Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 20/23] perf cpu_map: Make cpu_map__build_map global Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 21/23] perf cpu_map: Add data arg to cpu_map__build_map callback Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 22/23] perf script: Check output fields only for samples Arnaldo Carvalho de Melo
2015-10-19 21:39 ` [PATCH 23/23] perf bench: Use named initializers in the trailer too Arnaldo Carvalho de Melo
2015-10-20  7:32 ` [GIT PULL 00/23] 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=1445290774-13344-10-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mitake@dcl.info.waseda.ac.jp \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /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.