[LTP] [PATCH] perf_event_open02: set process as RT during Setup stage
Edward Liaw
edliaw@google.com
Thu Feb 27 19:49:07 CET 2025
From: "kuan-ying.zhu" <kuan-ying.zhu@mediatek.com>
Move the action of set the task RT from the Verify stage to the Setup
stage. Avoid potential risks of task migration due to scheduler policy.
Signed-off-by: kuan-ying.zhu <kuan-ying.zhu@mediatek.com>
Signed-off-by: Edward Liaw <edliaw@google.com>
---
.../syscalls/perf_event_open/perf_event_open02.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c b/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
index 7306ecf51..7b3305a52 100644
--- a/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
+++ b/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
@@ -198,6 +198,12 @@ static void setup(void)
{
int i;
struct perf_event_attr tsk_event, hw_event;
+ struct sched_param sparam = {.sched_priority = 1};
+
+ if (sched_setscheduler(0, SCHED_FIFO, &sparam)) {
+ tst_brk(TBROK | TERRNO,
+ "sched_setscheduler(0, SCHED_FIFO, ...) failed");
+ }
for (i = 0; i < MAX_CTRS; i++) {
hwfd[i] = -1;
@@ -271,12 +277,7 @@ static void verify(void)
unsigned long long vtsum = 0, vhsum = 0;
int i;
double ratio;
- struct sched_param sparam = {.sched_priority = 1};
-
- if (sched_setscheduler(0, SCHED_FIFO, &sparam)) {
- tst_brk(TBROK | TERRNO,
- "sched_setscheduler(0, SCHED_FIFO, ...) failed");
- }
+ struct sched_param sparam = {.sched_priority = 0};
all_counters_set(PR_TASK_PERF_EVENTS_ENABLE);
do_work(8);
--
2.48.1.711.g2feabab25a-goog
More information about the ltp
mailing list