All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hrtimer:fix the miss of hrtimer_peek_ahead_timers in nort code
@ 2013-03-08  7:03 Zhao Hongjiang
  0 siblings, 0 replies; only message in thread
From: Zhao Hongjiang @ 2013-03-08  7:03 UTC (permalink / raw)
  To: linux-rt-users; +Cc: tglx, Steven Rostedt

From: Zhao Hongjiang <zhaohongjiang@huawei.com>

When we run the test "taskset -c 1 stress -m 1 --vm-bytes 50M" and
"taskset -c 1 cyclictest -t 1 -p 80 -n -m -v" with rt closed 3.4.26-rt38 kernel,
the cyclictest's result is anomalous as follow:
       0:     278:       1
       0:     279:       2
       0:     280:      17
       0:     281:    1657
       0:     282:    1680
       0:     283:    4678
       0:     284:    7026
       0:     285:    6678
       0:     286:    9677
       0:     287:   12678
       0:     288:   13090
       0:     289:   14678
       0:     290:   17677
       0:     291:   20155
       0:     292:   19678
       0:     293:   22679
       0:     294:   25676
       0:     295:   26218
       0:     296:   27679
       0:     297:   30677
       0:     298:   33283
       0:     299:   32677
       0:     300:   35676
and the result is increase continuously forever. We find that the patch
"hrtimer-fixup-hrtimer-callback-changes-for-preempt-rt.patch"(commit id is
64abd3f22112032a343f77de78bed60dfda2c58f) has missed hrtimer_peek_ahead_timers()
in hrtimer_rt_run_pending() fuction in nort code. We fix this and the test
result isn't increase continuously as same as the result with nort 3.4.26
kernel as follow:
       0:     636:       8
       0:     637:       7
       0:     638:       8
       0:     639:       9
       0:     640:       7
       0:     641:       9
       0:     642:       8
       0:     643:       8
       0:     644:       8
       0:     645:      32
       0:     646:    8683
       0:     647:    7760
       0:     648:    6784
       0:     649:    5797
       0:     650:    4810
       0:     651:    3823
       0:     652:    2836
       0:     653:    1849
       0:     654:     862
       0:     655:       7
       0:     656:       7
       0:     657:       7
       0:     658:       6
       0:     659:       8
       0:     660:       7


Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com>
---
 kernel/hrtimer.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index 9114899..bcd40d8 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -1427,7 +1427,11 @@ static int hrtimer_rt_defer(struct hrtimer *timer)

 #else

-static inline void hrtimer_rt_run_pending(void) { }
+static inline void hrtimer_rt_run_pending(void)
+{
+	hrtimer_peek_ahead_timers();
+}
+
 static inline int hrtimer_rt_defer(struct hrtimer *timer) { return 0; }

 #endif
-- 1.7.1

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-03-08  7:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-08  7:03 [PATCH] hrtimer:fix the miss of hrtimer_peek_ahead_timers in nort code Zhao Hongjiang

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.