<div dir="ltr">Hi,<div><br></div><div>We are thinking of writing a piece of code that takes some time to run (it would be amazing if it takes around 2 secs to run on hardware, but we would be happy with something that takes a few milliseconds as well). </div><div><br></div><div>We tried writing this:</div><div><br></div><div>  for(int i = 0; i<10000000; ++i){<br>      fib2 = fib0 + fib1;<br>      fib0 = fib1;<br>      fib1 = fib2;<br>  }<br></div><div><br></div><div>which takes few milliseconds when tested on qemu, but only takes few microseconds on a real board. Do you have any suggestions of what else we can do?</div><div><br></div><div>We want to write a code that is context switch safe (so, we can't simply check the time before a loop, run an infinite loop that keeps checking current time and stops after a few seconds - because this logic would fail if there happens a context switch inside the loop and the task gets the control back after a few seconds). We also don't want to do a wake_after() since we want the task to be running on the cpu during the entire time (it is okay if the task gets preempted due to a higher priority process), and not voluntarily giving the control to some other task.</div><div><br></div><div>Any suggestions? The aim is to see the affect of a task getting removed from the cpu due to task shifting by the newly arrived task (in strong apa vs non task shifting scheduler).</div><div><br></div><div>Thank you.</div></div>