Request for reviews: change to timeout representation in kernel functions
Peter A. Bigot
PR 17155 (https://github.com/zephyrproject-rtos/zephyr/pull/17155) is an API cleanup that changes the type used to store timeout delays from a signed integer representing milliseconds to an opaque type that will be able to represent both absolute and relative times, higher resolution timeouts, and potentially timeouts on different clocks. See https://github.com/zephyrproject-rtos/zephyr/issues/19282 for an overview of the current vision and a link to a presentation recently made to TSC that has even more background.
This PR provides the foundation technology that supports better timeouts. In last weeks dev review telecon we discussed merging it quickly to avoid excess pain in rebasing it, and to get it visible early in the development cycle so a late merge doesn't require a rush to rebase a lot of other work.
Though it's huge, it's also fairly straightforward. We're still working on a few patches to get it to pass shippable's tests. Code size is unchanged by the rework, but applications that choose to use 64-bit timers (which are new in this PR) will need more RAM. There are some behavioral anomalies with large numbers of timers with short periods but these have been recognized before (and may be eliminated by further refactoring and cleanup).
However, we need more reviewers. Please take a look at this, and the related issues, and provide feedback and any concerns you may have.
This will be a topic of discussion in the API telecon tomorrow.