* [Xenomai] xenomai cyclictest negative Max value @ 2017-12-18 2:26 Peng Fan 2017-12-20 6:49 ` Peng Fan 0 siblings, 1 reply; 5+ messages in thread From: Peng Fan @ 2017-12-18 2:26 UTC (permalink / raw) To: xenomai Hi All, I compiled xenomai-next on my ARM64 platform, but met Max and Avg not correct. See below: ./cyclictest -a -t10 -n -p99 -c 0 # /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 0.97 0.51 0.21 1/135 3018 policy: fifo: loadavg: 1.00 0.76 0.38 1/128 3018 T:[ 200.650323] random: crng init done 0 Act: 0 Avg:443149053456561 Max: -1 T: 0 ( 3002) P:99 I:1000 C: 373066 Min: 0 Act: 0 Avg:395570629834068 Max: -11 T: 1 ( 3003) P:99 I:1500 C: 248710 Min: 0 Act: 0 Avg:148339383810136 Max: -111 T: 2 ( 3004) P:99 I:2000 C: 186532 Min: 0 Act: 0 Avg:593359125738518 Max: -1 T: 3 ( 3005) P:99 I:2500 C: 149359 Min: 0 Act: 0 Avg:123506076458128 Max: -11 T: 4 ( 3006) P:99 I:3000 C: 124465 Min: 0 Act: 0 Avg:592833136181562 Max: -1 T: 5 ( 3007) P:99 I:3500 C: 106684 Min: 0 Act: 0 Avg:172910127795260 Max: -111 T: 6 ( 3008) P:99 I:4000 C: 93349 Min: 0 Act: 0 Avg:1383273613171719 Max: -1 T: 7 ( 3009) P:99 I:4500 C: 82977 Min: 0 Act: 0 Avg:666934598998863 Max: -1 T: 8 ( 3010) P:99 I:5000 C: 74679 Min: 0 Act: 0 Avg:988055226969271 Max: -11 Seems xenomai cyclictest and rt-tests cyclictest is not sync, or there are some differecense. Could you please help me clarify what's the difference between xenomai cyclictest and rt-tests cyclictest? I did not find out which exact commit number when importing rt-tests cyclictest to xenomai. Thanks, Peng. -- ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai] xenomai cyclictest negative Max value 2017-12-18 2:26 [Xenomai] xenomai cyclictest negative Max value Peng Fan @ 2017-12-20 6:49 ` Peng Fan 2017-12-20 7:34 ` Peng Fan 2017-12-20 10:07 ` Philippe Gerum 0 siblings, 2 replies; 5+ messages in thread From: Peng Fan @ 2017-12-20 6:49 UTC (permalink / raw) To: xenomai On Mon, Dec 18, 2017 at 10:26:28AM +0800, Peng Fan wrote: >Hi All, > >I compiled xenomai-next on my ARM64 platform, but met Max and Avg not correct. >See below: > >./cyclictest -a -t10 -n -p99 -c 0 ># /dev/cpu_dma_latency set to 0us >policy: fifo: loadavg: 0.97 0.51 0.21 1/135 3018 >policy: fifo: loadavg: 1.00 0.76 0.38 1/128 3018 >T:[ 200.650323] random: crng init done 0 Act: 0 Avg:443149053456561 Max: -1 >T: 0 ( 3002) P:99 I:1000 C: 373066 Min: 0 Act: 0 Avg:395570629834068 Max: -11 >T: 1 ( 3003) P:99 I:1500 C: 248710 Min: 0 Act: 0 Avg:148339383810136 Max: -111 >T: 2 ( 3004) P:99 I:2000 C: 186532 Min: 0 Act: 0 Avg:593359125738518 Max: -1 >T: 3 ( 3005) P:99 I:2500 C: 149359 Min: 0 Act: 0 Avg:123506076458128 Max: -11 >T: 4 ( 3006) P:99 I:3000 C: 124465 Min: 0 Act: 0 Avg:592833136181562 Max: -1 >T: 5 ( 3007) P:99 I:3500 C: 106684 Min: 0 Act: 0 Avg:172910127795260 Max: -111 >T: 6 ( 3008) P:99 I:4000 C: 93349 Min: 0 Act: 0 Avg:1383273613171719 Max: -1 >T: 7 ( 3009) P:99 I:4500 C: 82977 Min: 0 Act: 0 Avg:666934598998863 Max: -1 >T: 8 ( 3010) P:99 I:5000 C: 74679 Min: 0 Act: 0 Avg:988055226969271 Max: -11 > >Seems xenomai cyclictest and rt-tests cyclictest is not sync, or there are >some differecense. Could you please help me clarify what's the difference >between xenomai cyclictest and rt-tests cyclictest? I did not find out which >exact commit number when importing rt-tests cyclictest to xenomai. I add a debug info in cyclictest.c, see below: diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c index 31d9e5d0b..b16321cd9 100644 --- a/demo/posix/cyclictest/cyclictest.c +++ b/demo/posix/cyclictest/cyclictest.c @@ -920,6 +920,11 @@ void *timerthread(void *param) diff = calcdiff_ns(now, next); else diff = calcdiff(now, next); + + if (diff == -1) { + printf("==== %ld %ld %ld %ld\n", now.tv_sec, now.tv_nsec, next.tv_sec, next.tv_nsec); + exit(0); + } if (diff < stat->min) stat->min = diff; if (diff > stat->max) { And I encounter the case that diff is -1, "==== 16124 21743627 16124 21744638" only 1ns difference between now and next. This means clock_nanosleep wakeup earlier than expected? I am using 4.9.51 kernel, and xenomai-next on ARM64. I am tracking the hrtimer things, but no good progress. Please advise, if you any ideas. Thanks, Peng. > >Thanks, >Peng. > >-- -- ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Xenomai] xenomai cyclictest negative Max value 2017-12-20 6:49 ` Peng Fan @ 2017-12-20 7:34 ` Peng Fan 2017-12-20 10:07 ` Philippe Gerum 1 sibling, 0 replies; 5+ messages in thread From: Peng Fan @ 2017-12-20 7:34 UTC (permalink / raw) To: xenomai On Wed, Dec 20, 2017 at 02:49:53PM +0800, Peng Fan wrote: >On Mon, Dec 18, 2017 at 10:26:28AM +0800, Peng Fan wrote: >>Hi All, >> >>I compiled xenomai-next on my ARM64 platform, but met Max and Avg not correct. >>See below: >> >>./cyclictest -a -t10 -n -p99 -c 0 >># /dev/cpu_dma_latency set to 0us >>policy: fifo: loadavg: 0.97 0.51 0.21 1/135 3018 >>policy: fifo: loadavg: 1.00 0.76 0.38 1/128 3018 >>T:[ 200.650323] random: crng init done 0 Act: 0 Avg:443149053456561 Max: -1 >>T: 0 ( 3002) P:99 I:1000 C: 373066 Min: 0 Act: 0 Avg:395570629834068 Max: -11 >>T: 1 ( 3003) P:99 I:1500 C: 248710 Min: 0 Act: 0 Avg:148339383810136 Max: -111 >>T: 2 ( 3004) P:99 I:2000 C: 186532 Min: 0 Act: 0 Avg:593359125738518 Max: -1 >>T: 3 ( 3005) P:99 I:2500 C: 149359 Min: 0 Act: 0 Avg:123506076458128 Max: -11 >>T: 4 ( 3006) P:99 I:3000 C: 124465 Min: 0 Act: 0 Avg:592833136181562 Max: -1 >>T: 5 ( 3007) P:99 I:3500 C: 106684 Min: 0 Act: 0 Avg:172910127795260 Max: -111 >>T: 6 ( 3008) P:99 I:4000 C: 93349 Min: 0 Act: 0 Avg:1383273613171719 Max: -1 >>T: 7 ( 3009) P:99 I:4500 C: 82977 Min: 0 Act: 0 Avg:666934598998863 Max: -1 >>T: 8 ( 3010) P:99 I:5000 C: 74679 Min: 0 Act: 0 Avg:988055226969271 Max: -11 >> >>Seems xenomai cyclictest and rt-tests cyclictest is not sync, or there are >>some differecense. Could you please help me clarify what's the difference >>between xenomai cyclictest and rt-tests cyclictest? I did not find out which >>exact commit number when importing rt-tests cyclictest to xenomai. > >I add a debug info in cyclictest.c, see below: > >diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c >index 31d9e5d0b..b16321cd9 100644 >--- a/demo/posix/cyclictest/cyclictest.c >+++ b/demo/posix/cyclictest/cyclictest.c >@@ -920,6 +920,11 @@ void *timerthread(void *param) > diff = calcdiff_ns(now, next); > else > diff = calcdiff(now, next); >+ >+ if (diff == -1) { >+ printf("==== %ld %ld %ld %ld\n", now.tv_sec, now.tv_nsec, next.tv_sec, next.tv_nsec); >+ exit(0); >+ } > if (diff < stat->min) > stat->min = diff; > if (diff > stat->max) { > >And I encounter the case that diff is -1, >"==== 16124 21743627 16124 21744638" >only 1ns difference between now and next. Typo: it is 1011 ns. The arch timer freq is 8MHz, resolution is 125ns. >This means clock_nanosleep wakeup earlier than expected? >I am using 4.9.51 kernel, and xenomai-next on ARM64. I am tracking >the hrtimer things, but no good progress. Please advise, if you any ideas. > >Thanks, >Peng. > >> >>Thanks, >>Peng. >> >>-- > >-- -- ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai] xenomai cyclictest negative Max value 2017-12-20 6:49 ` Peng Fan 2017-12-20 7:34 ` Peng Fan @ 2017-12-20 10:07 ` Philippe Gerum 2017-12-27 0:49 ` Peng Fan 1 sibling, 1 reply; 5+ messages in thread From: Philippe Gerum @ 2017-12-20 10:07 UTC (permalink / raw) To: Peng Fan, xenomai On 12/20/2017 07:49 AM, Peng Fan wrote: > On Mon, Dec 18, 2017 at 10:26:28AM +0800, Peng Fan wrote: >> Hi All, >> >> I compiled xenomai-next on my ARM64 platform, but met Max and Avg not correct. >> See below: >> >> ./cyclictest -a -t10 -n -p99 -c 0 >> # /dev/cpu_dma_latency set to 0us >> policy: fifo: loadavg: 0.97 0.51 0.21 1/135 3018 >> policy: fifo: loadavg: 1.00 0.76 0.38 1/128 3018 >> T:[ 200.650323] random: crng init done 0 Act: 0 Avg:443149053456561 Max: -1 >> T: 0 ( 3002) P:99 I:1000 C: 373066 Min: 0 Act: 0 Avg:395570629834068 Max: -11 >> T: 1 ( 3003) P:99 I:1500 C: 248710 Min: 0 Act: 0 Avg:148339383810136 Max: -111 >> T: 2 ( 3004) P:99 I:2000 C: 186532 Min: 0 Act: 0 Avg:593359125738518 Max: -1 >> T: 3 ( 3005) P:99 I:2500 C: 149359 Min: 0 Act: 0 Avg:123506076458128 Max: -11 >> T: 4 ( 3006) P:99 I:3000 C: 124465 Min: 0 Act: 0 Avg:592833136181562 Max: -1 >> T: 5 ( 3007) P:99 I:3500 C: 106684 Min: 0 Act: 0 Avg:172910127795260 Max: -111 >> T: 6 ( 3008) P:99 I:4000 C: 93349 Min: 0 Act: 0 Avg:1383273613171719 Max: -1 >> T: 7 ( 3009) P:99 I:4500 C: 82977 Min: 0 Act: 0 Avg:666934598998863 Max: -1 >> T: 8 ( 3010) P:99 I:5000 C: 74679 Min: 0 Act: 0 Avg:988055226969271 Max: -11 >> >> Seems xenomai cyclictest and rt-tests cyclictest is not sync, or there are >> some differecense. Could you please help me clarify what's the difference >> between xenomai cyclictest and rt-tests cyclictest? I did not find out which >> exact commit number when importing rt-tests cyclictest to xenomai. > > I add a debug info in cyclictest.c, see below: > > diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c > index 31d9e5d0b..b16321cd9 100644 > --- a/demo/posix/cyclictest/cyclictest.c > +++ b/demo/posix/cyclictest/cyclictest.c > @@ -920,6 +920,11 @@ void *timerthread(void *param) > diff = calcdiff_ns(now, next); > else > diff = calcdiff(now, next); > + > + if (diff == -1) { > + printf("==== %ld %ld %ld %ld\n", now.tv_sec, now.tv_nsec, next.tv_sec, next.tv_nsec); > + exit(0); > + } > if (diff < stat->min) > stat->min = diff; > if (diff > stat->max) { > > And I encounter the case that diff is -1, > "==== 16124 21743627 16124 21744638" > only 1ns difference between now and next. > This means clock_nanosleep wakeup earlier than expected? > I am using 4.9.51 kernel, and xenomai-next on ARM64. I am tracking > the hrtimer things, but no good progress. Please advise, if you any ideas. > You need to calibrate the core timer with the "autotune" utility. Some details available here: https://xenomai.org/documentation/xenomai-3/html/man1/autotune/index.html -- Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Xenomai] xenomai cyclictest negative Max value 2017-12-20 10:07 ` Philippe Gerum @ 2017-12-27 0:49 ` Peng Fan 0 siblings, 0 replies; 5+ messages in thread From: Peng Fan @ 2017-12-27 0:49 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai On Wed, Dec 20, 2017 at 11:07:18AM +0100, Philippe Gerum wrote: >On 12/20/2017 07:49 AM, Peng Fan wrote: >> On Mon, Dec 18, 2017 at 10:26:28AM +0800, Peng Fan wrote: >>> Hi All, >>> >>> I compiled xenomai-next on my ARM64 platform, but met Max and Avg not correct. >>> See below: >>> >>> ./cyclictest -a -t10 -n -p99 -c 0 >>> # /dev/cpu_dma_latency set to 0us >>> policy: fifo: loadavg: 0.97 0.51 0.21 1/135 3018 >>> policy: fifo: loadavg: 1.00 0.76 0.38 1/128 3018 >>> T:[ 200.650323] random: crng init done 0 Act: 0 Avg:443149053456561 Max: -1 >>> T: 0 ( 3002) P:99 I:1000 C: 373066 Min: 0 Act: 0 Avg:395570629834068 Max: -11 >>> T: 1 ( 3003) P:99 I:1500 C: 248710 Min: 0 Act: 0 Avg:148339383810136 Max: -111 >>> T: 2 ( 3004) P:99 I:2000 C: 186532 Min: 0 Act: 0 Avg:593359125738518 Max: -1 >>> T: 3 ( 3005) P:99 I:2500 C: 149359 Min: 0 Act: 0 Avg:123506076458128 Max: -11 >>> T: 4 ( 3006) P:99 I:3000 C: 124465 Min: 0 Act: 0 Avg:592833136181562 Max: -1 >>> T: 5 ( 3007) P:99 I:3500 C: 106684 Min: 0 Act: 0 Avg:172910127795260 Max: -111 >>> T: 6 ( 3008) P:99 I:4000 C: 93349 Min: 0 Act: 0 Avg:1383273613171719 Max: -1 >>> T: 7 ( 3009) P:99 I:4500 C: 82977 Min: 0 Act: 0 Avg:666934598998863 Max: -1 >>> T: 8 ( 3010) P:99 I:5000 C: 74679 Min: 0 Act: 0 Avg:988055226969271 Max: -11 >>> >>> Seems xenomai cyclictest and rt-tests cyclictest is not sync, or there are >>> some differecense. Could you please help me clarify what's the difference >>> between xenomai cyclictest and rt-tests cyclictest? I did not find out which >>> exact commit number when importing rt-tests cyclictest to xenomai. >> >> I add a debug info in cyclictest.c, see below: >> >> diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c >> index 31d9e5d0b..b16321cd9 100644 >> --- a/demo/posix/cyclictest/cyclictest.c >> +++ b/demo/posix/cyclictest/cyclictest.c >> @@ -920,6 +920,11 @@ void *timerthread(void *param) >> diff = calcdiff_ns(now, next); >> else >> diff = calcdiff(now, next); >> + >> + if (diff == -1) { >> + printf("==== %ld %ld %ld %ld\n", now.tv_sec, now.tv_nsec, next.tv_sec, next.tv_nsec); >> + exit(0); >> + } >> if (diff < stat->min) >> stat->min = diff; >> if (diff > stat->max) { >> >> And I encounter the case that diff is -1, >> "==== 16124 21743627 16124 21744638" >> only 1ns difference between now and next. >> This means clock_nanosleep wakeup earlier than expected? >> I am using 4.9.51 kernel, and xenomai-next on ARM64. I am tracking >> the hrtimer things, but no good progress. Please advise, if you any ideas. >> > >You need to calibrate the core timer with the "autotune" utility. Some >details available here: > >https://xenomai.org/documentation/xenomai-3/html/man1/autotune/index.html I tried directly run "#autotune". It could fix the negative issue on i.mx6q and i.mx7d. But on i.MX8 ARM64, I still could met the issue. Is there something more that I could try? Thanks, Peng. > >-- >Philippe. -- ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-12-27 0:49 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-12-18 2:26 [Xenomai] xenomai cyclictest negative Max value Peng Fan 2017-12-20 6:49 ` Peng Fan 2017-12-20 7:34 ` Peng Fan 2017-12-20 10:07 ` Philippe Gerum 2017-12-27 0:49 ` Peng Fan
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.