In additional to recording the maximum runtime and delay, let's also
keep track of the moving average. The average is calculated by:
New_Avg = (Old_Avg * 7 + New_Val) / 8
every time the hook fires.
The average values are only accurate for hooks that fire enough times,
but it won't be useful anyway for a hook that only fires just once or
twice.
Also, show warning if HOOK_TICK or HOOK_SECOND fires more than 10% late.
BUG=chrome-os-partner:21801
TEST=On Kirby, check average values are sane.
TEST='waitms 800' and see warning of HOOK_TICK firing late.
BRANCH=None
Change-Id: I453545830d854c6c5bfc795d01fc558a965cff6e
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/169704
Reviewed-by: Randall Spangler <rspangler@chromium.org>