If the offset range becomes too great, we can no longer conclude about when
some CPUs were idle and others had queued work. The tool will detect this,
and print an error message and exit.
Some systems can power down CPUs when idle, and when they wake up again the
timed samples may resume from different offsets. If this happens, this tool
can no longer draw conclusions about when some CPUs were idle and others
had queued work, so it prints an error, and exits. Eg:
# ./cpuunclaimed.py 1
Sampling run queues... Output every 1 seconds. Hit Ctrl-C to end.
%CPU 0.25%, unclaimed idle 0.00%
%CPU 0.75%, unclaimed idle 0.00%
%CPU 0.25%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.12%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.25%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.12%, unclaimed idle 0.00%
%CPU 0.13%, unclaimed idle 0.00%
%CPU 0.12%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
%CPU 0.00%, unclaimed idle 0.00%
ERROR: CPU samples arrived at skewed offsets (CPUs may have powered down when idle), spanning 4328176 ns (expected < 4040404 ns). Debug with -J, and see the man page. As output may begin to be unreliable, exiting.
It's expected that this will only really occur on idle systems.