linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf test: Add watchpoint test
@ 2018-09-10  9:58 Ravi Bangoria
  2018-09-10 10:31 ` Jiri Olsa
  0 siblings, 1 reply; 7+ messages in thread
From: Ravi Bangoria @ 2018-09-10  9:58 UTC (permalink / raw)
  To: acme, jolsa
  Cc: alexander.shishkin, namhyung, tmricht, sandipan, brueckner,
	kim.phillips, kstewart, tglx, naveen.n.rao, linux-kernel,
	Ravi Bangoria

We don't have perf test available to test watchpoint functionality.
Add simple set of tests: 
 - Read only watchpoint
 - Write only watchpoint
 - Read / Write watchpoint
 - Runtime watchpoint modification

Ex on powerpc:
  $ sudo ./perf test 22
  22: Watchpoint                                            :
  22.1: Read Only Watchpoint                                : Ok
  22.2: Write Only Watchpoint                               : Ok
  22.3: Read / Write Watchpoint                             : Ok
  22.4: Modify Watchpoint                                   : Ok

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
---
 tools/perf/tests/Build          |   1 +
 tools/perf/tests/builtin-test.c |   9 ++
 tools/perf/tests/tests.h        |   3 +
 tools/perf/tests/wp.c           | 225 ++++++++++++++++++++++++++++++++
 4 files changed, 238 insertions(+)
 create mode 100644 tools/perf/tests/wp.c

diff --git a/tools/perf/tests/Build b/tools/perf/tests/Build
index 6c108fa79ae3..0b2b8305c965 100644
--- a/tools/perf/tests/Build
+++ b/tools/perf/tests/Build
@@ -21,6 +21,7 @@ perf-y += python-use.o
 perf-y += bp_signal.o
 perf-y += bp_signal_overflow.o
 perf-y += bp_account.o
+perf-y += wp.o
 perf-y += task-exit.o
 perf-y += sw-clock.o
 perf-y += mmap-thread-lookup.o
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index d7a5e1b9aa6f..54ca7d87236f 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -120,6 +120,15 @@ static struct test generic_tests[] = {
 		.func = test__bp_accounting,
 		.is_supported = test__bp_signal_is_supported,
 	},
+	{
+		.desc = "Watchpoint",
+		.func = test__wp,
+		.subtest = {
+			.skip_if_fail	= false,
+			.get_nr		= test__wp_subtest_get_nr,
+			.get_desc	= test__wp_subtest_get_desc,
+		},
+	},
 	{
 		.desc = "Number of exit events of a simple workload",
 		.func = test__task_exit,
diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h
index a9760e790563..8e26a4148f30 100644
--- a/tools/perf/tests/tests.h
+++ b/tools/perf/tests/tests.h
@@ -59,6 +59,9 @@ int test__python_use(struct test *test, int subtest);
 int test__bp_signal(struct test *test, int subtest);
 int test__bp_signal_overflow(struct test *test, int subtest);
 int test__bp_accounting(struct test *test, int subtest);
+int test__wp(struct test *test, int subtest);
+const char *test__wp_subtest_get_desc(int subtest);
+int test__wp_subtest_get_nr(void);
 int test__task_exit(struct test *test, int subtest);
 int test__mem(struct test *test, int subtest);
 int test__sw_clock_freq(struct test *test, int subtest);
diff --git a/tools/perf/tests/wp.c b/tools/perf/tests/wp.c
new file mode 100644
index 000000000000..f9f6d9ee5172
--- /dev/null
+++ b/tools/perf/tests/wp.c
@@ -0,0 +1,225 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <sys/ioctl.h>
+#include <linux/hw_breakpoint.h>
+#include "tests/tests.h"
+#include "arch-tests.h"
+#include "debug.h"
+#include "cloexec.h"
+
+#define WP_TEST_ASSERT_VAL(fd, text, val)       \
+do {                                            \
+	long long count;                        \
+	wp_read(fd, &count, sizeof(long long)); \
+	TEST_ASSERT_VAL(text, count == val);    \
+} while (0)
+
+volatile u64 data1;
+volatile u8 data2[3];
+
+static int wp_read(int fd, long long *count, int size)
+{
+	int ret = read(fd, count, size);
+
+	if (ret != size) {
+		pr_debug("failed to read: %d\n", ret);
+		return -1;
+	}
+	return 0;
+}
+
+static void get__perf_event_attr(struct perf_event_attr *attr, int wp_type,
+				 void *wp_addr, unsigned long wp_len)
+{
+	memset(attr, 0, sizeof(struct perf_event_attr));
+	attr->type           = PERF_TYPE_BREAKPOINT;
+	attr->size           = sizeof(struct perf_event_attr);
+	attr->config         = 0;
+	attr->bp_type        = wp_type;
+	attr->bp_addr        = (unsigned long)wp_addr;
+	attr->bp_len         = wp_len;
+	attr->sample_period  = 1;
+	attr->sample_type    = PERF_SAMPLE_IP;
+	attr->exclude_kernel = 1;
+	attr->exclude_hv     = 1;
+}
+
+static int __event(int wp_type, void *wp_addr, unsigned long wp_len)
+{
+	int fd;
+	struct perf_event_attr attr;
+
+	get__perf_event_attr(&attr, wp_type, wp_addr, wp_len);
+	fd = sys_perf_event_open(&attr, 0, -1, -1,
+				 perf_event_open_cloexec_flag());
+	if (fd < 0)
+		pr_debug("failed opening event %x\n", attr.bp_type);
+
+	return fd;
+}
+
+static int wp_ro_test(void)
+{
+	int fd;
+	unsigned long tmp, tmp1 = rand();
+
+	fd = __event(HW_BREAKPOINT_R, (void *)&data1, sizeof(data1));
+	if (fd < 0)
+		return -1;
+
+	tmp = data1;
+	WP_TEST_ASSERT_VAL(fd, "RO watchpoint", 1);
+
+	data1 = tmp1 + tmp;
+	WP_TEST_ASSERT_VAL(fd, "RO watchpoint", 1);
+
+	close(fd);
+	return 0;
+}
+
+static int wp_wo_test(void)
+{
+	int fd;
+	unsigned long tmp, tmp1 = rand();
+
+	fd = __event(HW_BREAKPOINT_W, (void *)&data1, sizeof(data1));
+	if (fd < 0)
+		return -1;
+
+	tmp = data1;
+	WP_TEST_ASSERT_VAL(fd, "WO watchpoint", 0);
+
+	data1 = tmp1 + tmp;
+	WP_TEST_ASSERT_VAL(fd, "WO watchpoint", 1);
+
+	close(fd);
+	return 0;
+}
+
+static int wp_rw_test(void)
+{
+	int fd;
+	unsigned long tmp, tmp1 = rand();
+
+	fd = __event(HW_BREAKPOINT_R | HW_BREAKPOINT_W, (void *)&data1,
+		     sizeof(data1));
+	if (fd < 0)
+		return -1;
+
+	tmp = data1;
+	WP_TEST_ASSERT_VAL(fd, "RW watchpoint", 1);
+
+	data1 = tmp1 + tmp;
+	WP_TEST_ASSERT_VAL(fd, "RW watchpoint", 2);
+
+	close(fd);
+	return 0;
+}
+
+static int wp_modify_test(void)
+{
+	int fd, ret;
+	unsigned long tmp = rand();
+	struct perf_event_attr new_attr;
+
+	fd = __event(HW_BREAKPOINT_W, (void *)&data1, sizeof(data1));
+	if (fd < 0)
+		return -1;
+
+	data1 = tmp;
+	WP_TEST_ASSERT_VAL(fd, "Modify watchpoint", 1);
+
+	/* Modify watchpoint with disabled = 1 */
+	get__perf_event_attr(&new_attr, HW_BREAKPOINT_W, (void *)&data2[0],
+			     sizeof(u8) * 2);
+	new_attr.disabled = 1;
+	ret = ioctl(fd, PERF_EVENT_IOC_MODIFY_ATTRIBUTES, &new_attr);
+	if (ret < 0) {
+		pr_debug("ioctl(PERF_EVENT_IOC_MODIFY_ATTRIBUTES) failed\n");
+		close(fd);
+		return ret;
+	}
+
+	data2[1] = tmp; /* Not Counted */
+	WP_TEST_ASSERT_VAL(fd, "Modify watchpoint", 1);
+
+	/* Enable the event */
+	ioctl(fd, PERF_EVENT_IOC_ENABLE, 0);
+	if (ret < 0) {
+		pr_debug("Failed to enable event\n");
+		close(fd);
+		return ret;
+	}
+
+	data2[1] = tmp; /* Counted */
+	WP_TEST_ASSERT_VAL(fd, "Modify watchpoint", 2);
+
+	data2[2] = tmp; /* Not Counted */
+	WP_TEST_ASSERT_VAL(fd, "Modify watchpoint", 2);
+
+	close(fd);
+	return 0;
+}
+
+static bool wp_ro_supported(void)
+{
+#if defined (__x86_64__) || defined (__i386__)
+	return false;
+#else
+	return true;
+#endif
+}
+
+static struct {
+	const char *desc;
+	int (*target_func)(void);
+	bool (*is_supported)(void);
+} wp_testcase_table[] = {
+	{
+		.desc = "Read Only Watchpoint",
+		.target_func = &wp_ro_test,
+		.is_supported = &wp_ro_supported,
+	},
+	{
+		.desc = "Write Only Watchpoint",
+		.target_func = &wp_wo_test,
+	},
+	{
+		.desc = "Read / Write Watchpoint",
+		.target_func = &wp_rw_test,
+	},
+	{
+		.desc = "Modify Watchpoint",
+		.target_func = &wp_modify_test,
+	},
+};
+
+int test__wp_subtest_get_nr(void)
+{
+	return (int)ARRAY_SIZE(wp_testcase_table);
+}
+
+const char *test__wp_subtest_get_desc(int i)
+{
+	if (i < 0 || i >= (int)ARRAY_SIZE(wp_testcase_table))
+		return NULL;
+	return wp_testcase_table[i].desc;
+}
+
+/*
+ * Test
+ * - Read only watchpoint
+ * - Write only watchpoint
+ * - Read / Write watchpoint
+ * - Watchpoint modification
+ */
+int test__wp(struct test *test __maybe_unused, int i)
+{
+	if (i < 0 || i >= (int)ARRAY_SIZE(wp_testcase_table))
+		return TEST_FAIL;
+
+	if (wp_testcase_table[i].is_supported &&
+	    !wp_testcase_table[i].is_supported())
+		return TEST_SKIP;
+
+	return !wp_testcase_table[i].target_func() ? TEST_OK : TEST_FAIL;
+}
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10  9:58 [PATCH] perf test: Add watchpoint test Ravi Bangoria
@ 2018-09-10 10:31 ` Jiri Olsa
  2018-09-10 13:47   ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 7+ messages in thread
From: Jiri Olsa @ 2018-09-10 10:31 UTC (permalink / raw)
  To: Ravi Bangoria
  Cc: acme, alexander.shishkin, namhyung, tmricht, sandipan, brueckner,
	kim.phillips, kstewart, tglx, naveen.n.rao, linux-kernel

On Mon, Sep 10, 2018 at 03:28:11PM +0530, Ravi Bangoria wrote:
> We don't have perf test available to test watchpoint functionality.
> Add simple set of tests: 
>  - Read only watchpoint
>  - Write only watchpoint
>  - Read / Write watchpoint
>  - Runtime watchpoint modification
> 
> Ex on powerpc:
>   $ sudo ./perf test 22
>   22: Watchpoint                                            :
>   22.1: Read Only Watchpoint                                : Ok
>   22.2: Write Only Watchpoint                               : Ok
>   22.3: Read / Write Watchpoint                             : Ok
>   22.4: Modify Watchpoint                                   : Ok

cool, thanks!

Acked-by: Jiri Olsa <jolsa@kernel.org>

jirka

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10 10:31 ` Jiri Olsa
@ 2018-09-10 13:47   ` Arnaldo Carvalho de Melo
  2018-09-10 14:18     ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-10 13:47 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Ravi Bangoria, alexander.shishkin, namhyung, tmricht, sandipan,
	brueckner, kim.phillips, kstewart, tglx, naveen.n.rao,
	linux-kernel

Em Mon, Sep 10, 2018 at 12:31:54PM +0200, Jiri Olsa escreveu:
> On Mon, Sep 10, 2018 at 03:28:11PM +0530, Ravi Bangoria wrote:
> > We don't have perf test available to test watchpoint functionality.
> > Add simple set of tests: 
> >  - Read only watchpoint
> >  - Write only watchpoint
> >  - Read / Write watchpoint
> >  - Runtime watchpoint modification
> > 
> > Ex on powerpc:
> >   $ sudo ./perf test 22
> >   22: Watchpoint                                            :
> >   22.1: Read Only Watchpoint                                : Ok
> >   22.2: Write Only Watchpoint                               : Ok
> >   22.3: Read / Write Watchpoint                             : Ok
> >   22.4: Modify Watchpoint                                   : Ok
> 
> cool, thanks!
> 
> Acked-by: Jiri Olsa <jolsa@kernel.org>

Thanks, applied.

- Arnaldo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10 13:47   ` Arnaldo Carvalho de Melo
@ 2018-09-10 14:18     ` Arnaldo Carvalho de Melo
  2018-09-10 17:31       ` Arnaldo Carvalho de Melo
  2018-09-12  3:15       ` Ravi Bangoria
  0 siblings, 2 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-10 14:18 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Ravi Bangoria, alexander.shishkin, namhyung, tmricht, sandipan,
	brueckner, kim.phillips, kstewart, tglx, naveen.n.rao,
	linux-kernel

Em Mon, Sep 10, 2018 at 10:47:54AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Sep 10, 2018 at 12:31:54PM +0200, Jiri Olsa escreveu:
> > On Mon, Sep 10, 2018 at 03:28:11PM +0530, Ravi Bangoria wrote:
> > > We don't have perf test available to test watchpoint functionality.
> > > Add simple set of tests: 
> > >  - Read only watchpoint
> > >  - Write only watchpoint
> > >  - Read / Write watchpoint
> > >  - Runtime watchpoint modification
> > > 
> > > Ex on powerpc:
> > >   $ sudo ./perf test 22
> > >   22: Watchpoint                                            :
> > >   22.1: Read Only Watchpoint                                : Ok
> > >   22.2: Write Only Watchpoint                               : Ok
> > >   22.3: Read / Write Watchpoint                             : Ok
> > >   22.4: Modify Watchpoint                                   : Ok
> > 
> > cool, thanks!
> > 
> > Acked-by: Jiri Olsa <jolsa@kernel.org>
> 
> Thanks, applied.

While testing, I got curious, as a 'perf test' user, why one of the
tests had the "Skip" result:

[root@seventh ~]# perf test watchpoint
22: Watchpoint                                            :
22.1: Read Only Watchpoint                                : Skip
22.2: Write Only Watchpoint                               : Ok
22.3: Read / Write Watchpoint                             : Ok
22.4: Modify Watchpoint                                   : Ok
[root@seventh ~]#

I tried with 'perf test -v watchpoint' but that didn't help, perhaps you
could add some message after the "Skip" telling why it skipped that
test? I.e. hardware doesn't have that capability, kernel driver not yet
supporting that, something else?

- Arnaldo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10 14:18     ` Arnaldo Carvalho de Melo
@ 2018-09-10 17:31       ` Arnaldo Carvalho de Melo
  2018-09-12  3:08         ` Ravi Bangoria
  2018-09-12  3:15       ` Ravi Bangoria
  1 sibling, 1 reply; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-09-10 17:31 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Ravi Bangoria, alexander.shishkin, namhyung, tmricht, sandipan,
	brueckner, kim.phillips, kstewart, tglx, naveen.n.rao,
	linux-kernel

Em Mon, Sep 10, 2018 at 11:18:30AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Sep 10, 2018 at 10:47:54AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Mon, Sep 10, 2018 at 12:31:54PM +0200, Jiri Olsa escreveu:
> > > On Mon, Sep 10, 2018 at 03:28:11PM +0530, Ravi Bangoria wrote:
> > > > Ex on powerpc:
> > > >   $ sudo ./perf test 22
> > > >   22: Watchpoint                                            :
> > > >   22.1: Read Only Watchpoint                                : Ok
> > > >   22.2: Write Only Watchpoint                               : Ok
> > > >   22.3: Read / Write Watchpoint                             : Ok
> > > >   22.4: Modify Watchpoint                                   : Ok

> > > cool, thanks!

> > > Acked-by: Jiri Olsa <jolsa@kernel.org>

> > Thanks, applied.

Oops, fails when cross-building it to mips, I'll try to fix after lunch:

  18   109.48 debian:experimental           : Ok   gcc (Debian 8.2.0-4) 8.2.0
  19    42.66 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  20    22.33 debian:experimental-x-mips    : FAIL mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
  21    20.05 debian:experimental-x-mips64  : FAIL mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
  22    22.85 debian:experimental-x-mipsel  : FAIL mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0

  CC       /tmp/build/perf/tests/bp_account.o
  CC       /tmp/build/perf/tests/wp.o
tests/wp.c:5:10: fatal error: arch-tests.h: No such file or directory
 #include "arch-tests.h"
          ^~~~~~~~~~~~~~
compilation terminated.
mv: cannot stat '/tmp/build/perf/tests/.wp.o.tmp': No such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/tests/wp.o] Error 1
make[4]: *** Waiting for unfinished jobs....
  CC       /tmp/build/perf/util/record.o
  CC       /tmp/build/perf/util/srcline.o
make[3]: *** [/git/linux/tools/build/Makefile.build:139: tests] Error 2
make[2]: *** [Makefile.perf:507: /tmp/build/perf/perf-in.o] Error 2
make[2]: *** Waiting for unfinished jobs....

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10 17:31       ` Arnaldo Carvalho de Melo
@ 2018-09-12  3:08         ` Ravi Bangoria
  0 siblings, 0 replies; 7+ messages in thread
From: Ravi Bangoria @ 2018-09-12  3:08 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: alexander.shishkin, namhyung, tmricht, sandipan, brueckner,
	kim.phillips, kstewart, tglx, naveen.n.rao, linux-kernel,
	Ravi Bangoria



On 09/10/2018 11:01 PM, Arnaldo Carvalho de Melo wrote:
> Em Mon, Sep 10, 2018 at 11:18:30AM -0300, Arnaldo Carvalho de Melo escreveu:
>> Em Mon, Sep 10, 2018 at 10:47:54AM -0300, Arnaldo Carvalho de Melo escreveu:
>>> Em Mon, Sep 10, 2018 at 12:31:54PM +0200, Jiri Olsa escreveu:
>>>> On Mon, Sep 10, 2018 at 03:28:11PM +0530, Ravi Bangoria wrote:
>>>>> Ex on powerpc:
>>>>>   $ sudo ./perf test 22
>>>>>   22: Watchpoint                                            :
>>>>>   22.1: Read Only Watchpoint                                : Ok
>>>>>   22.2: Write Only Watchpoint                               : Ok
>>>>>   22.3: Read / Write Watchpoint                             : Ok
>>>>>   22.4: Modify Watchpoint                                   : Ok
> 
>>>> cool, thanks!
> 
>>>> Acked-by: Jiri Olsa <jolsa@kernel.org>
> 
>>> Thanks, applied.
> 
> Oops, fails when cross-building it to mips, I'll try to fix after lunch:


Sorry for bit late reply. Will send v2 with the fix.

Thanks
Ravi

> 
>   18   109.48 debian:experimental           : Ok   gcc (Debian 8.2.0-4) 8.2.0
>   19    42.66 debian:experimental-x-arm64   : Ok   aarch64-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
>   20    22.33 debian:experimental-x-mips    : FAIL mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
>   21    20.05 debian:experimental-x-mips64  : FAIL mips64-linux-gnuabi64-gcc (Debian 8.1.0-12) 8.1.0
>   22    22.85 debian:experimental-x-mipsel  : FAIL mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0
> 
>   CC       /tmp/build/perf/tests/bp_account.o
>   CC       /tmp/build/perf/tests/wp.o
> tests/wp.c:5:10: fatal error: arch-tests.h: No such file or directory
>  #include "arch-tests.h"
>           ^~~~~~~~~~~~~~
> compilation terminated.
> mv: cannot stat '/tmp/build/perf/tests/.wp.o.tmp': No such file or directory
> make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/tests/wp.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
>   CC       /tmp/build/perf/util/record.o
>   CC       /tmp/build/perf/util/srcline.o
> make[3]: *** [/git/linux/tools/build/Makefile.build:139: tests] Error 2
> make[2]: *** [Makefile.perf:507: /tmp/build/perf/perf-in.o] Error 2
> make[2]: *** Waiting for unfinished jobs....
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] perf test: Add watchpoint test
  2018-09-10 14:18     ` Arnaldo Carvalho de Melo
  2018-09-10 17:31       ` Arnaldo Carvalho de Melo
@ 2018-09-12  3:15       ` Ravi Bangoria
  1 sibling, 0 replies; 7+ messages in thread
From: Ravi Bangoria @ 2018-09-12  3:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: alexander.shishkin, namhyung, tmricht, sandipan, brueckner,
	kim.phillips, kstewart, tglx, naveen.n.rao, linux-kernel,
	Ravi Bangoria


> While testing, I got curious, as a 'perf test' user, why one of the
> tests had the "Skip" result:
> 
> [root@seventh ~]# perf test watchpoint
> 22: Watchpoint                                            :
> 22.1: Read Only Watchpoint                                : Skip
> 22.2: Write Only Watchpoint                               : Ok
> 22.3: Read / Write Watchpoint                             : Ok
> 22.4: Modify Watchpoint                                   : Ok
> [root@seventh ~]#
> 
> I tried with 'perf test -v watchpoint' but that didn't help, perhaps you
> could add some message after the "Skip" telling why it skipped that
> test? I.e. hardware doesn't have that capability, kernel driver not yet
> supporting that, something else?

Sure will add a message:

pr_debug("Hardware does not support read only watchpoints.");

Ravi


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-09-12  3:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-10  9:58 [PATCH] perf test: Add watchpoint test Ravi Bangoria
2018-09-10 10:31 ` Jiri Olsa
2018-09-10 13:47   ` Arnaldo Carvalho de Melo
2018-09-10 14:18     ` Arnaldo Carvalho de Melo
2018-09-10 17:31       ` Arnaldo Carvalho de Melo
2018-09-12  3:08         ` Ravi Bangoria
2018-09-12  3:15       ` Ravi Bangoria

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).