Blast from the past. (cleaning out inbox) On Mon, 15 Jul 2013 11:32:44 -0400 Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> wrote: > From: Zhao Hongjiang <zhaohongjiang@xxxxxxxxxx> > > 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") 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@xxxxxxxxxx> > Signed-off-by: Weng Meiling <wengmeiling.weng@xxxxxxxxxx> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > [PG: direct cherry pick of b236e408 from v3.6-rt] > Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> > > diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c > index c5f8b11..9d96d7a 100644 > --- a/kernel/hrtimer.c > +++ b/kernel/hrtimer.c > @@ -1430,7 +1430,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 Looking at my latest 3.4-rt, this doesn't look like it was applied. Should I still apply it? Nobody seemed to notice. -- Steve -- To unsubscribe from this list: send the line "unsubscribe stable-rt" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html