<div dir="ltr">Hi<div><br></div><div>Gedare and I are working on a paravirtualized RTEMS executing in an ARINC 653</div><div>partition. One challenge is ensuring the time passage in RTEMS is correct. The</div><div>problem in a nutshell is that RTEMS is not executing the entire time. Each</div><div>partition is an independent RTEMS instance. There will be no "ticks" while</div><div>an RTEMS partition is executing.</div><div><br></div><div>Consider this basic scenario.</div><div><br></div><div>+ Time Window 1 - RTEMS runs</div><div>+ TIme Window 2 .. n-1 - other applications run</div><div>+ Time Window n - RTEMS runs again</div><div><br></div><div>We do not have a periodic interrupt which is documented in #2271</div><div>as a requirement.</div><div><br></div><div>Additionally we can ask the underlying protection kernel for the value of</div><div>a nanoseconds counter. We see this as satisfying the requirement for</div><div>a running counter.</div><div><br></div><div>Time WIndow 1 can end because RTEMS either voluntarily yielded the time window</div><div>or because it used its entire time budge. Either way, when it runs again in Time</div><div>Window N, we can determine how much time has passed from the beginning of</div><div>Time Window 1 to the beginning of Time Window N.</div><div><br></div><div>Our working assumption is that we will advance time at the beginning of each</div><div>time window. The length of time advanced should be assumed to be variable.</div><div><br></div><div>We have control over a recommended configure vaiue for nanoseconds per</div><div>tick and I am thinking always using 1 millisecond and calling clock tick the</div><div>proper number of times on each time windows entry. </div><div><br></div><div>Another challenge is ensuring the implementation does not include </div><div>non-RTEMS time windows in the CPU time statistics of the thread</div><div>that was executing at the end of one time windows and beginning</div><div>of our next one.</div><div><br></div><div>Any thoughts on how to best manage this variable clock tick?</div><div><br></div><div>Thanks.</div><div><br></div><div>--joel</div></div>