Normally timer overrun is not that much of a problem, because there where it matters, we usually have an is_timeout() in the loop that reads the timer often enough. This doesn't necessarily hold for the new uptime command and basically anything can happen between subsequent calls and if get_time_ns() is not called often enough during that time, we end up with an inaccurate uptime. Mention this in the extended help text. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- Can be squashed into original commit. --- commands/uptime.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/commands/uptime.c b/commands/uptime.c index a9a8c650b698..d67538631c8f 100644 --- a/commands/uptime.c +++ b/commands/uptime.c @@ -66,6 +66,9 @@ static int do_uptime(int argc, char *argv[]) BAREBOX_CMD_HELP_START(uptime) BAREBOX_CMD_HELP_TEXT("This command formats the number of elapsed nanoseconds") BAREBOX_CMD_HELP_TEXT("as measured with the current clocksource") +BAREBOX_CMD_HELP_TEXT("Note: Timekeeping is co-operative. If long running code does") +BAREBOX_CMD_HELP_TEXT("not use delay/is_timeout/get_time_ns/getchar functions") +BAREBOX_CMD_HELP_TEXT("timer may overrun resulting in incorrect results") BAREBOX_CMD_HELP_TEXT("Options:") BAREBOX_CMD_HELP_OPT ("-n", "output elapsed time in nanoseconds") BAREBOX_CMD_HELP_END -- 2.30.2