History

docs: timers: convert docs to ReST and rename to *.rst

The conversion here is really trivial: just a bunch of title markups and very few puntual changes is enough to make it to be parsed by Sphinx and generate a nice html. The conversion is actually: - add blank lines and identation in order to identify paragraphs; - fix tables markups; - add some lists markups; - mark literal blocks; - adjust title markups. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings.

Mauro Carvalho Chehab committed 7 years ago

Commit 458f69e1 parent 4ca9bc214 files · +84 −43Browse files

Unified · Split

14 files
  1. Documentation/timers/highres.rst +7 −6
  2. Documentation/timers/hpet.rst +3 −1
  3. Documentation/timers/hrtimers.rst +3 −3
  4. Documentation/timers/index.rst +22 −0
  5. Documentation/timers/no_hz.rst +24 −16
  6. Documentation/timers/timekeeping.rst +2 −1
  7. Documentation/timers/timers-howto.rst +11 −4
  8. MAINTAINERS +1 −1
  9. drivers/media/usb/dvb-usb-v2/anysee.c +1 −1
  10. drivers/regulator/core.c +1 −1
  11. include/linux/iopoll.h +2 −2
  12. include/linux/regmap.h +2 −2
  13. scripts/checkpatch.pl +4 −4
  14. sound/soc/sof/ops.h +1 −1
Documentation/timers/highres.rstrenamed from Documentation/timers/highres.txt+7−6
@@ -1,5 +1,6 @@
1=====================================================
1High resolution timers and dynamic ticks design notes2High resolution timers and dynamic ticks design notes
2-----------------------------------------------------3=====================================================
3 4
4Further information can be found in the paper of the OLS 2006 talk "hrtimers5Further information can be found in the paper of the OLS 2006 talk "hrtimers
5and beyond". The paper is part of the OLS 2006 Proceedings Volume 1, which can6and beyond". The paper is part of the OLS 2006 Proceedings Volume 1, which can
@@ -30,11 +31,12 @@ hrtimer base infrastructure · 24 unmodified lines
30---------------------------31---------------------------
31 32
32The hrtimer base infrastructure was merged into the 2.6.16 kernel. Details of33The hrtimer base infrastructure was merged into the 2.6.16 kernel. Details of
33the base implementation are covered in Documentation/timers/hrtimers.txt. See34the base implementation are covered in Documentation/timers/hrtimers.rst. See
34also figure #2 (OLS slides p. 15)35also figure #2 (OLS slides p. 15)
35 36
36The main differences to the timer wheel, which holds the armed timer_list type37The main differences to the timer wheel, which holds the armed timer_list type
37timers are:38timers are:
39
38 - time ordered enqueueing into a rb-tree40 - time ordered enqueueing into a rb-tree
39 - independent of ticks (the processing is based on nanoseconds)41 - independent of ticks (the processing is based on nanoseconds)
40 42
@@ -55,7 +57,8 @@ merged into the 2.6.18 kernel. · 14 unmodified lines
55 57
56Further information about the Generic Time Of Day framework is available in the58Further information about the Generic Time Of Day framework is available in the
57OLS 2005 Proceedings Volume 1:59OLS 2005 Proceedings Volume 1:
58http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf60
61 http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf
59 62
60The paper "We Are Not Getting Any Younger: A New Approach to Time and63The paper "We Are Not Getting Any Younger: A New Approach to Time and
61Timers" was written by J. Stultz, D.V. Hart, & N. Aravamudan.64Timers" was written by J. Stultz, D.V. Hart, & N. Aravamudan.
@@ -100,6 +103,7 @@ accounting, profiling, and high resolution timers. · 38 unmodified lines
100 103
101The management layer assigns one or more of the following functions to a clock104The management layer assigns one or more of the following functions to a clock
102event device:105event device:
106
103 - system global periodic tick (jiffies update)107 - system global periodic tick (jiffies update)
104 - cpu local update_process_times108 - cpu local update_process_times
105 - cpu local profiling109 - cpu local profiling
@@ -244,6 +248,3 @@ extended to x86_64 and ARM already. Initial (work in progress) support is also · 138 unmodified lines
244available for MIPS and PowerPC.248available for MIPS and PowerPC.
245 249
246 Thomas, Ingo250 Thomas, Ingo
247
248
249
Documentation/timers/hpet.rstrenamed from Documentation/timers/hpet.txt+3−1
@@ -1,4 +1,6 @@
1 High Precision Event Timer Driver for Linux1===========================================
2High Precision Event Timer Driver for Linux
3===========================================
2 4
3The High Precision Event Timer (HPET) hardware follows a specification5The High Precision Event Timer (HPET) hardware follows a specification
4by Intel and Microsoft, revision 1.6by Intel and Microsoft, revision 1.
Documentation/timers/hrtimers.rstrenamed from Documentation/timers/hrtimers.txt+3−3
@@ -1,6 +1,6 @@
1 1======================================================
2hrtimers - subsystem for high-resolution kernel timers2hrtimers - subsystem for high-resolution kernel timers
3----------------------------------------------------3======================================================
4 4
5This patch introduces a new subsystem for high-resolution kernel timers.5This patch introduces a new subsystem for high-resolution kernel timers.
6 6
@@ -146,7 +146,7 @@ the clock_getres() interface. This will return whatever real resolution · 139 unmodified lines
146a given clock has - be it low-res, high-res, or artificially-low-res.146a given clock has - be it low-res, high-res, or artificially-low-res.
147 147
148hrtimers - testing and verification148hrtimers - testing and verification
149----------------------------------149-----------------------------------
150 150
151We used the high-resolution clock subsystem ontop of hrtimers to verify151We used the high-resolution clock subsystem ontop of hrtimers to verify
152the hrtimer implementation details in praxis, and we also ran the posix152the hrtimer implementation details in praxis, and we also ran the posix
Documentation/timers/index.rst+22−0
@@ -0,0 +1,22 @@
1:orphan:
2
3======
4timers
5======
6
7.. toctree::
8 :maxdepth: 1
9
10 highres
11 hpet
12 hrtimers
13 no_hz
14 timekeeping
15 timers-howto
16
17.. only:: subproject and html
18
19 Indices
20 =======
21
22 * :ref:`genindex`
Documentation/timers/no_hz.rstrenamed from Documentation/timers/NO_HZ.txt+24−16
@@ -1,4 +1,6 @@
1 NO_HZ: Reducing Scheduling-Clock Ticks1======================================
2NO_HZ: Reducing Scheduling-Clock Ticks
3======================================
2 4
3 5
4This document describes Kconfig options and boot parameters that can6This document describes Kconfig options and boot parameters that can
@@ -28,7 +30,8 @@ by a third section on RCU-specific considerations, a fourth section · 23 unmodified lines
28discussing testing, and a fifth and final section listing known issues.30discussing testing, and a fifth and final section listing known issues.
29 31
30 32
31NEVER OMIT SCHEDULING-CLOCK TICKS33Never Omit Scheduling-Clock Ticks
34=================================
32 35
33Very old versions of Linux from the 1990s and the very early 2000s36Very old versions of Linux from the 1990s and the very early 2000s
34are incapable of omitting scheduling-clock ticks. It turns out that37are incapable of omitting scheduling-clock ticks. It turns out that
@@ -59,7 +62,8 @@ degrade your applications performance. If this describes your workload, · 24 unmodified lines
59you should read the following two sections.62you should read the following two sections.
60 63
61 64
62OMIT SCHEDULING-CLOCK TICKS FOR IDLE CPUs65Omit Scheduling-Clock Ticks For Idle CPUs
66=========================================
63 67
64If a CPU is idle, there is little point in sending it a scheduling-clock68If a CPU is idle, there is little point in sending it a scheduling-clock
65interrupt. After all, the primary purpose of a scheduling-clock interrupt69interrupt. After all, the primary purpose of a scheduling-clock interrupt
@@ -97,7 +101,8 @@ By default, CONFIG_NO_HZ_IDLE=y kernels boot with "nohz=on", enabling · 31 unmodified lines
97dyntick-idle mode.101dyntick-idle mode.
98 102
99 103
100OMIT SCHEDULING-CLOCK TICKS FOR CPUs WITH ONLY ONE RUNNABLE TASK104Omit Scheduling-Clock Ticks For CPUs With Only One Runnable Task
105================================================================
101 106
102If a CPU has only one runnable task, there is little point in sending it107If a CPU has only one runnable task, there is little point in sending it
103a scheduling-clock interrupt because there is no other task to switch to.108a scheduling-clock interrupt because there is no other task to switch to.
@@ -174,7 +179,8 @@ However, the drawbacks listed above mean that adaptive ticks should not · 70 unmodified lines
174(yet) be enabled by default.179(yet) be enabled by default.
175 180
176 181
177RCU IMPLICATIONS182RCU Implications
183================
178 184
179There are situations in which idle CPUs cannot be permitted to185There are situations in which idle CPUs cannot be permitted to
180enter either dyntick-idle mode or adaptive-tick mode, the most186enter either dyntick-idle mode or adaptive-tick mode, the most
@@ -199,7 +205,8 @@ scheduler will decide where to run them, which might or might not be · 18 unmodified lines
199where you want them to run.205where you want them to run.
200 206
201 207
202TESTING208Testing
209=======
203 210
204So you enable all the OS-jitter features described in this document,211So you enable all the OS-jitter features described in this document,
205but do not see any change in your workload's behavior. Is this because212but do not see any change in your workload's behavior. Is this because
@@ -222,9 +229,10 @@ We do not currently have a good way to remove OS jitter from single-CPU · 16 unmodified lines
222systems.229systems.
223 230
224 231
225KNOWN ISSUES232Known Issues
233============
226 234
227o Dyntick-idle slows transitions to and from idle slightly.235* Dyntick-idle slows transitions to and from idle slightly.
228 In practice, this has not been a problem except for the most236 In practice, this has not been a problem except for the most
229 aggressive real-time workloads, which have the option of disabling237 aggressive real-time workloads, which have the option of disabling
230 dyntick-idle mode, an option that most of them take. However,238 dyntick-idle mode, an option that most of them take. However,
@@ -248,13 +256,13 @@ o Dyntick-idle slows transitions to and from idle slightly. · 17 unmodified lines
248 this parameter effectively disables Turbo Mode on Intel256 this parameter effectively disables Turbo Mode on Intel
249 CPUs, which can significantly reduce maximum performance.257 CPUs, which can significantly reduce maximum performance.
250 258
251o Adaptive-ticks slows user/kernel transitions slightly.259* Adaptive-ticks slows user/kernel transitions slightly.
252 This is not expected to be a problem for computationally intensive260 This is not expected to be a problem for computationally intensive
253 workloads, which have few such transitions. Careful benchmarking261 workloads, which have few such transitions. Careful benchmarking
254 will be required to determine whether or not other workloads262 will be required to determine whether or not other workloads
255 are significantly affected by this effect.263 are significantly affected by this effect.
256 264
257o Adaptive-ticks does not do anything unless there is only one265* Adaptive-ticks does not do anything unless there is only one
258 runnable task for a given CPU, even though there are a number266 runnable task for a given CPU, even though there are a number
259 of other situations where the scheduling-clock tick is not267 of other situations where the scheduling-clock tick is not
260 needed. To give but one example, consider a CPU that has one268 needed. To give but one example, consider a CPU that has one
@@ -275,7 +283,7 @@ o Adaptive-ticks does not do anything unless there is only one · 14 unmodified lines
275 283
276 Better handling of these sorts of situations is future work.284 Better handling of these sorts of situations is future work.
277 285
278o A reboot is required to reconfigure both adaptive idle and RCU286* A reboot is required to reconfigure both adaptive idle and RCU
279 callback offloading. Runtime reconfiguration could be provided287 callback offloading. Runtime reconfiguration could be provided
280 if needed, however, due to the complexity of reconfiguring RCU at288 if needed, however, due to the complexity of reconfiguring RCU at
281 runtime, there would need to be an earthshakingly good reason.289 runtime, there would need to be an earthshakingly good reason.
@@ -283,12 +291,12 @@ o A reboot is required to reconfigure both adaptive idle and RCU · 1 unmodified line
283 simply offloading RCU callbacks from all CPUs and pinning them291 simply offloading RCU callbacks from all CPUs and pinning them
284 where you want them whenever you want them pinned.292 where you want them whenever you want them pinned.
285 293
286o Additional configuration is required to deal with other sources294* Additional configuration is required to deal with other sources
287 of OS jitter, including interrupts and system-utility tasks295 of OS jitter, including interrupts and system-utility tasks
288 and processes. This configuration normally involves binding296 and processes. This configuration normally involves binding
289 interrupts and tasks to particular CPUs.297 interrupts and tasks to particular CPUs.
290 298
291o Some sources of OS jitter can currently be eliminated only by299* Some sources of OS jitter can currently be eliminated only by
292 constraining the workload. For example, the only way to eliminate300 constraining the workload. For example, the only way to eliminate
293 OS jitter due to global TLB shootdowns is to avoid the unmapping301 OS jitter due to global TLB shootdowns is to avoid the unmapping
294 operations (such as kernel module unload operations) that302 operations (such as kernel module unload operations) that
@@ -299,17 +307,17 @@ o Some sources of OS jitter can currently be eliminated only by · 4 unmodified lines
299 helpful, especially when combined with the mlock() and mlockall()307 helpful, especially when combined with the mlock() and mlockall()
300 system calls.308 system calls.
301 309
302o Unless all CPUs are idle, at least one CPU must keep the310* Unless all CPUs are idle, at least one CPU must keep the
303 scheduling-clock interrupt going in order to support accurate311 scheduling-clock interrupt going in order to support accurate
304 timekeeping.312 timekeeping.
305 313
306o If there might potentially be some adaptive-ticks CPUs, there314* If there might potentially be some adaptive-ticks CPUs, there
307 will be at least one CPU keeping the scheduling-clock interrupt315 will be at least one CPU keeping the scheduling-clock interrupt
308 going, even if all CPUs are otherwise idle.316 going, even if all CPUs are otherwise idle.
309 317
310 Better handling of this situation is ongoing work.318 Better handling of this situation is ongoing work.
311 319
312o Some process-handling operations still require the occasional320* Some process-handling operations still require the occasional
313 scheduling-clock tick. These operations include calculating CPU321 scheduling-clock tick. These operations include calculating CPU
314 load, maintaining sched average, computing CFS entity vruntime,322 load, maintaining sched average, computing CFS entity vruntime,
315 computing avenrun, and carrying out load balancing. They are323 computing avenrun, and carrying out load balancing. They are
Documentation/timers/timekeeping.rstrenamed from Documentation/timers/timekeeping.txt+2−1
@@ -1,5 +1,6 @@
1===========================================================
1Clock sources, Clock events, sched_clock() and delay timers2Clock sources, Clock events, sched_clock() and delay timers
2-----------------------------------------------------------3===========================================================
3 4
4This document tries to briefly explain some basic kernel timekeeping5This document tries to briefly explain some basic kernel timekeeping
5abstractions. It partly pertains to the drivers usually found in6abstractions. It partly pertains to the drivers usually found in
Documentation/timers/timers-howto.rstrenamed from Documentation/timers/timers-howto.txt+11−4
@@ -1,5 +1,6 @@
1===================================================================
1delays - Information on the various kernel delay / sleep mechanisms2delays - Information on the various kernel delay / sleep mechanisms
2-------------------------------------------------------------------3===================================================================
3 4
4This document seeks to answer the common question: "What is the5This document seeks to answer the common question: "What is the
5RightWay (TM) to insert a delay?"6RightWay (TM) to insert a delay?"
@@ -17,7 +18,7 @@ code in an atomic context?" This should be followed closely by "Does · 11 unmodified lines
17it really need to delay in atomic context?" If so...18it really need to delay in atomic context?" If so...
18 19
19ATOMIC CONTEXT:20ATOMIC CONTEXT:
20 You must use the *delay family of functions. These21 You must use the `*delay` family of functions. These
21 functions use the jiffie estimation of clock speed22 functions use the jiffie estimation of clock speed
22 and will busy wait for enough loop cycles to achieve23 and will busy wait for enough loop cycles to achieve
23 the desired delay:24 the desired delay:
@@ -35,21 +36,26 @@ ATOMIC CONTEXT: · 11 unmodified lines
35 be refactored to allow for the use of msleep.36 be refactored to allow for the use of msleep.
36 37
37NON-ATOMIC CONTEXT:38NON-ATOMIC CONTEXT:
38 You should use the *sleep[_range] family of functions.39 You should use the `*sleep[_range]` family of functions.
39 There are a few more options here, while any of them may40 There are a few more options here, while any of them may
40 work correctly, using the "right" sleep function will41 work correctly, using the "right" sleep function will
41 help the scheduler, power management, and just make your42 help the scheduler, power management, and just make your
42 driver better :)43 driver better :)
43 44
44 -- Backed by busy-wait loop:45 -- Backed by busy-wait loop:
46
45 udelay(unsigned long usecs)47 udelay(unsigned long usecs)
48
46 -- Backed by hrtimers:49 -- Backed by hrtimers:
50
47 usleep_range(unsigned long min, unsigned long max)51 usleep_range(unsigned long min, unsigned long max)
52
48 -- Backed by jiffies / legacy_timers53 -- Backed by jiffies / legacy_timers
54
49 msleep(unsigned long msecs)55 msleep(unsigned long msecs)
50 msleep_interruptible(unsigned long msecs)56 msleep_interruptible(unsigned long msecs)
51 57
52 Unlike the *delay family, the underlying mechanism58 Unlike the `*delay` family, the underlying mechanism
53 driving each of these calls varies, thus there are59 driving each of these calls varies, thus there are
54 quirks you should be aware of.60 quirks you should be aware of.
55 61
@@ -70,6 +76,7 @@ NON-ATOMIC CONTEXT: · 14 unmodified lines
70 - Why not msleep for (1ms - 20ms)?76 - Why not msleep for (1ms - 20ms)?
71 Explained originally here:77 Explained originally here:
72 http://lkml.org/lkml/2007/8/3/25078 http://lkml.org/lkml/2007/8/3/250
79
73 msleep(1~20) may not do what the caller intends, and80 msleep(1~20) may not do what the caller intends, and
74 will often sleep longer (~20 ms actual sleep for any81 will often sleep longer (~20 ms actual sleep for any
75 value given in the 1~20ms range). In many cases this82 value given in the 1~20ms range). In many cases this
MAINTAINERS+1−1
@@ -7192,7 +7192,7 @@ F: drivers/net/ethernet/hp/hp100.* · 7191 unmodified lines
7192HPET: High Precision Event Timers driver7192HPET: High Precision Event Timers driver
7193M: Clemens Ladisch <clemens@ladisch.de>7193M: Clemens Ladisch <clemens@ladisch.de>
7194S: Maintained7194S: Maintained
7195F: Documentation/timers/hpet.txt7195F: Documentation/timers/hpet.rst
7196F: drivers/char/hpet.c7196F: drivers/char/hpet.c
7197F: include/linux/hpet.h7197F: include/linux/hpet.h
7198F: include/uapi/linux/hpet.h7198F: include/uapi/linux/hpet.h
drivers/media/usb/dvb-usb-v2/anysee.c+1−1
@@ -56,7 +56,7 @@ static int anysee_ctrl_msg(struct dvb_usb_device *d, · 55 unmodified lines
56 /* TODO FIXME: dvb_usb_generic_rw() fails rarely with error code -3256 /* TODO FIXME: dvb_usb_generic_rw() fails rarely with error code -32
57 * (EPIPE, Broken pipe). Function supports currently msleep() as a57 * (EPIPE, Broken pipe). Function supports currently msleep() as a
58 * parameter but I would not like to use it, since according to58 * parameter but I would not like to use it, since according to
59 * Documentation/timers/timers-howto.txt it should not be used such59 * Documentation/timers/timers-howto.rst it should not be used such
60 * short, under < 20ms, sleeps. Repeating failed message would be60 * short, under < 20ms, sleeps. Repeating failed message would be
61 * better choice as not to add unwanted delays...61 * better choice as not to add unwanted delays...
62 * Fixing that correctly is one of those or both;62 * Fixing that correctly is one of those or both;
drivers/regulator/core.c+1−1
@@ -2304,7 +2304,7 @@ static int regulator_ena_gpio_ctrl(struct regulator_dev *rdev, bool enable) · 2303 unmodified lines
2304 *2304 *
2305 * Delay for the requested amount of time as per the guidelines in:2305 * Delay for the requested amount of time as per the guidelines in:
2306 *2306 *
2307 * Documentation/timers/timers-howto.txt2307 * Documentation/timers/timers-howto.rst
2308 *2308 *
2309 * The assumption here is that regulators will never be enabled in2309 * The assumption here is that regulators will never be enabled in
2310 * atomic context and therefore sleeping functions can be used.2310 * atomic context and therefore sleeping functions can be used.
include/linux/iopoll.h+2−2
@@ -21,7 +21,7 @@ · 20 unmodified lines
21 * @cond: Break condition (usually involving @val)21 * @cond: Break condition (usually involving @val)
22 * @sleep_us: Maximum time to sleep between reads in us (022 * @sleep_us: Maximum time to sleep between reads in us (0
23 * tight-loops). Should be less than ~20ms since usleep_range23 * tight-loops). Should be less than ~20ms since usleep_range
24 * is used (see Documentation/timers/timers-howto.txt).24 * is used (see Documentation/timers/timers-howto.rst).
25 * @timeout_us: Timeout in us, 0 means never timeout25 * @timeout_us: Timeout in us, 0 means never timeout
26 *26 *
27 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either27 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either
@@ -60,7 +60,7 @@ · 32 unmodified lines
60 * @cond: Break condition (usually involving @val)60 * @cond: Break condition (usually involving @val)
61 * @delay_us: Time to udelay between reads in us (0 tight-loops). Should61 * @delay_us: Time to udelay between reads in us (0 tight-loops). Should
62 * be less than ~10us since udelay is used (see62 * be less than ~10us since udelay is used (see
63 * Documentation/timers/timers-howto.txt).63 * Documentation/timers/timers-howto.rst).
64 * @timeout_us: Timeout in us, 0 means never timeout64 * @timeout_us: Timeout in us, 0 means never timeout
65 *65 *
66 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either66 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either
include/linux/regmap.h+2−2
@@ -112,7 +112,7 @@ struct reg_sequence { · 111 unmodified lines
112 * @cond: Break condition (usually involving @val)112 * @cond: Break condition (usually involving @val)
113 * @sleep_us: Maximum time to sleep between reads in us (0113 * @sleep_us: Maximum time to sleep between reads in us (0
114 * tight-loops). Should be less than ~20ms since usleep_range114 * tight-loops). Should be less than ~20ms since usleep_range
115 * is used (see Documentation/timers/timers-howto.txt).115 * is used (see Documentation/timers/timers-howto.rst).
116 * @timeout_us: Timeout in us, 0 means never timeout116 * @timeout_us: Timeout in us, 0 means never timeout
117 *117 *
118 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read118 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read
@@ -154,7 +154,7 @@ struct reg_sequence { · 35 unmodified lines
154 * @cond: Break condition (usually involving @val)154 * @cond: Break condition (usually involving @val)
155 * @sleep_us: Maximum time to sleep between reads in us (0155 * @sleep_us: Maximum time to sleep between reads in us (0
156 * tight-loops). Should be less than ~20ms since usleep_range156 * tight-loops). Should be less than ~20ms since usleep_range
157 * is used (see Documentation/timers/timers-howto.txt).157 * is used (see Documentation/timers/timers-howto.rst).
158 * @timeout_us: Timeout in us, 0 means never timeout158 * @timeout_us: Timeout in us, 0 means never timeout
159 *159 *
160 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_field_read160 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_field_read
scripts/checkpatch.pl+4−4
@@ -5712,7 +5712,7 @@ sub process { · 5711 unmodified lines
5712 # ignore udelay's < 10, however5712 # ignore udelay's < 10, however
5713 if (! ($delay < 10) ) {5713 if (! ($delay < 10) ) {
5714 CHK("USLEEP_RANGE",5714 CHK("USLEEP_RANGE",
5715 "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $herecurr);5715 "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.rst\n" . $herecurr);
5716 }5716 }
5717 if ($delay > 2000) {5717 if ($delay > 2000) {
5718 WARN("LONG_UDELAY",5718 WARN("LONG_UDELAY",
@@ -5724,7 +5724,7 @@ sub process { · 5 unmodified lines
5724 if ($line =~ /\bmsleep\s*\((\d+)\);/) {5724 if ($line =~ /\bmsleep\s*\((\d+)\);/) {
5725 if ($1 < 20) {5725 if ($1 < 20) {
5726 WARN("MSLEEP",5726 WARN("MSLEEP",
5727 "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $herecurr);5727 "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.rst\n" . $herecurr);
5728 }5728 }
5729 }5729 }
5730 5730
@@ -6115,11 +6115,11 @@ sub process { · 384 unmodified lines
6115 my $max = $7;6115 my $max = $7;
6116 if ($min eq $max) {6116 if ($min eq $max) {
6117 WARN("USLEEP_RANGE",6117 WARN("USLEEP_RANGE",
6118 "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");6118 "usleep_range should not use min == max args; see Documentation/timers/timers-howto.rst\n" . "$here\n$stat\n");
6119 } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ &&6119 } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ &&
6120 $min > $max) {6120 $min > $max) {
6121 WARN("USLEEP_RANGE",6121 WARN("USLEEP_RANGE",
6122 "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");6122 "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.rst\n" . "$here\n$stat\n");
6123 }6123 }
6124 }6124 }
6125 6125
sound/soc/sof/ops.h+1−1
@@ -349,7 +349,7 @@ static inline const struct snd_sof_dsp_ops · 348 unmodified lines
349 * @cond: Break condition (usually involving @val)349 * @cond: Break condition (usually involving @val)
350 * @sleep_us: Maximum time to sleep between reads in us (0350 * @sleep_us: Maximum time to sleep between reads in us (0
351 * tight-loops). Should be less than ~20ms since usleep_range351 * tight-loops). Should be less than ~20ms since usleep_range
352 * is used (see Documentation/timers/timers-howto.txt).352 * is used (see Documentation/timers/timers-howto.rst).
353 * @timeout_us: Timeout in us, 0 means never timeout353 * @timeout_us: Timeout in us, 0 means never timeout
354 *354 *
355 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either355 * Returns 0 on success and -ETIMEDOUT upon a timeout. In either

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t