summaryrefslogtreecommitdiff
path: root/src/charts.h
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2024-10-06 23:34:19 -0700
committerVito Caputo <vcaputo@pengaru.com>2024-10-08 01:31:31 -0700
commit8cd80cf9481f2a384a239b9fc1d02874aa7c64a7 (patch)
treeb840166e28867b615862bb7235fb8093fbb2b387 /src/charts.h
parent862c618c45d75d6f736f6b129943a5063e60c9eb (diff)
charts: try compute a real desired_delay_us
This introduces a concept of a "close enough" epsilon value. Where if the attempted update's current time is within very small temporal distance from the precisely scheduled time dictated by the interval, the update will still take a sample, rather than try introduce a tiny dely the host/kernel/ppoll will likely fail to adhere to without being tardy. Previously the desired delay was just a third of the interval, with no consideration for how long sampling took. This was dead simple, but made no attempt to schedule the poll timeout to align with the next sampling deadline, and would either cause excessive wakeups, or excessive tardiness, depending on the host's speed. I think this technically also fixed a bug where this_delta wouldn't get assigned if one of the earlier conditions short-circuited the later condition where it was being assigned.
Diffstat (limited to 'src/charts.h')
0 files changed, 0 insertions, 0 deletions
© All Rights Reserved