timer: Added usleep[_range] timer
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest4 patches 14 repliesIn review
- v11 patch 3 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/4 | timer: Added usleep[_range] timerinclude/ kernel/ | +28 | 10 replies | |
| 2/4 | Documentation: Add timers/timers-howto.txtDocumentation/ | +106 | 0 replies | |
| 3/4 | Checkpatch: prefer usleep over udelayscripts/ | +8 | 1 reply | |
| 4/4 | Checkpatch: warn about unexpectedly long msleep'sscripts/ | +7 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 0/4] timer: Added usleep[_range] timer
After writing both documentation and a checkpatch rule explaining why the usleep API should never be used, it occurred to me that perhaps such an API should never be added :) - at least not in its previous form.
This iteration is similar, with the notable difference that now usleep has a "built-in slack" of 200%. This is analogous to msleep, which has a built-in slack of 0.4% (since it relies on legacy timers, which have a built-in slack of 0.4%). 200% slack is significantly greater than 0.4%, but the scale of usleep is also significantly different than that of msleep, and I believe 200% to be a sane default.
It is my opinion that this interface will most often mirror what developers actually intend - indeed some people who have begun trying to use the API raised this point -, however, I would like some input as it is possibly confusing that the API will "double your sleep" by default.
The usleep_range API is still included, since it provides an interface to override the "default slack" of 200% by providing an explicit range, or to allow callers to specify an even larger slack if possible.
This patch series is NOT based off of tip (read: it will conflict with the previous usleep patch in -mm) since it is slighly different, and Andrew Morton lamented to loss of the detailed changelog info in the previous iteration - it is included here.
This series also includes the "full set", that is
1: Adds the usleep[_range] API
2: Adds timers-howto documentation
3: Checkpatch: prefer usleep over udelay
4: Checkpatch: warn about unexpectedly long msleep's
*** Changes in v2
* Add "default slack" to usleep
* Fix missing usec->nsec for delta in do_usleep_range
* Fix Documentation typos
* Better checkpatch regex's