mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
perf tests: Add a test for the ARM 32-bit [vectors] page
perf on ARM requires CONFIG_KUSER_HELPERS to be turned on to allow some independance with respect to the ARM CPU being used. Add a test which tries to locate the [vectors] page, created when CONFIG_KUSER_HELPERS is turned on to help asses the system's health. Signed-off-by: Florian Fainelli <[email protected]> Acked-by: Jiri Olsa <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Chris Healy <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Kim Phillips <[email protected]> Cc: Lucas Stach <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ravi Bangoria <[email protected]> Cc: Russell King <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Thomas Richter <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
011532379b
commit
21327c7843
4 changed files with 34 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
libperf-y += regs_load.o
|
||||
libperf-y += dwarf-unwind.o
|
||||
libperf-y += vectors-page.o
|
||||
|
||||
libperf-y += arch-tests.o
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@ struct test arch_tests[] = {
|
|||
.func = test__dwarf_unwind,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.desc = "Vectors page",
|
||||
.func = test__vectors_page,
|
||||
},
|
||||
{
|
||||
.func = NULL,
|
||||
},
|
||||
|
|
|
|||
24
tools/perf/arch/arm/tests/vectors-page.c
Normal file
24
tools/perf/arch/arm/tests/vectors-page.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
#include "debug.h"
|
||||
#include "tests/tests.h"
|
||||
#include "util/find-map.c"
|
||||
|
||||
#define VECTORS__MAP_NAME "[vectors]"
|
||||
|
||||
int test__vectors_page(struct test *test __maybe_unused,
|
||||
int subtest __maybe_unused)
|
||||
{
|
||||
void *start, *end;
|
||||
|
||||
if (find_map(&start, &end, VECTORS__MAP_NAME)) {
|
||||
pr_err("%s not found, is CONFIG_KUSER_HELPERS enabled?\n",
|
||||
VECTORS__MAP_NAME);
|
||||
return TEST_FAIL;
|
||||
}
|
||||
|
||||
return TEST_OK;
|
||||
}
|
||||
|
|
@ -119,4 +119,9 @@ int test__arch_unwind_sample(struct perf_sample *sample,
|
|||
struct thread *thread);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__arm__)
|
||||
int test__vectors_page(struct test *test, int subtest);
|
||||
#endif
|
||||
|
||||
#endif /* TESTS_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue