35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
From 6a3dd40539c1804db8b1fe1684afa5fa111636fe Mon Sep 17 00:00:00 2001
|
||
|
From: John Kacur <jkacur@redhat.com>
|
||
|
Date: Thu, 11 Nov 2021 08:56:54 -0500
|
||
|
Subject: [PATCH] rt-tests: deadline_tests: Null check to prevent floating
|
||
|
point exception
|
||
|
|
||
|
Fix a floating point exception that can occur if sd->nr_adjust is 0
|
||
|
by checking it before performing a division by zero.
|
||
|
|
||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||
|
---
|
||
|
src/sched_deadline/deadline_test.c | 6 ++++--
|
||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/src/sched_deadline/deadline_test.c b/src/sched_deadline/deadline_test.c
|
||
|
index 53abd4d2ca6b..b7e1e045b57c 100644
|
||
|
--- a/src/sched_deadline/deadline_test.c
|
||
|
+++ b/src/sched_deadline/deadline_test.c
|
||
|
@@ -2050,8 +2050,10 @@ int main(int argc, char **argv)
|
||
|
printf("missed deadlines = %d\n", sd->missed_deadlines);
|
||
|
printf("missed periods = %d\n", sd->missed_periods);
|
||
|
printf("Total adjustments = %lld us\n", sd->total_adjust);
|
||
|
- printf("# adjustments = %lld avg: %lld us\n",
|
||
|
- sd->nr_adjust, sd->total_adjust / sd->nr_adjust);
|
||
|
+ if (sd->nr_adjust) {
|
||
|
+ printf("# adjustments = %lld avg: %lld us\n",
|
||
|
+ sd->nr_adjust, sd->total_adjust / sd->nr_adjust);
|
||
|
+ }
|
||
|
printf("deadline : %lld us\n", sd->deadline_us);
|
||
|
printf("runtime : %lld us\n", sd->runtime_us);
|
||
|
printf("nr_periods : %lld\n", sd->nr_periods);
|
||
|
--
|
||
|
2.31.1
|
||
|
|