Use single loop with fault, idle, and stat checking based on cycles