Message ID | 20221123120238.1904-1-thunder.leizhen@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] doc: Fix htmldocs build warnings of stallwarn.rst | expand |
On Wed, Nov 23, 2022 at 08:02:38PM +0800, Zhen Lei wrote: > Documentation/RCU/stallwarn.rst: > 401: WARNING: Literal block expected; none found. > 428: WARNING: Literal block expected; none found. > 445: WARNING: Literal block expected; none found. > 459: WARNING: Literal block expected; none found. > 468: WARNING: Literal block expected; none found. > > The literal block need to be indented, so add two spaces to each line. Indenting to match alignment of lists texts? > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> You miss crediting linux-next list, so please add: Link: https://lore.kernel.org/linux-next/20221123163255.48653674@canb.auug.org.au/ Fixes: 3d2788ba4573 ("doc: Document CONFIG_RCU_CPU_STALL_CPUTIME=y stall information") Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > -The sampling period is shown as follows: > -:<------------first timeout---------->:<-----second timeout----->: > -:<--half timeout-->:<--half timeout-->: : > -: :<--first period-->: : > -: :<-----------second sampling period---------->: > -: : : : > -: snapshot time point 1st-stall 2nd-stall > +The sampling period is shown as follows:: > > + |<------------first timeout---------->|<-----second timeout----->| > + |<--half timeout-->|<--half timeout-->| | > + | |<--first period-->| | > + | |<-----------second sampling period---------->| > + | | | | > + | snapshot time point 1st-stall 2nd-stall The beginning pipe (|) on the last line of diagram above shouldn't be there (axis label?). > > The following describes four typical scenarios: > > -1. A CPU looping with interrupts disabled.:: > +1. A CPU looping with interrupts disabled. > > - rcu: hardirqs softirqs csw/system > - rcu: number: 0 0 0 > - rcu: cputime: 0 0 0 ==> 2500(ms) > + :: > + > + rcu: hardirqs softirqs csw/system > + rcu: number: 0 0 0 > + rcu: cputime: 0 0 0 ==> 2500(ms) > > Because interrupts have been disabled throughout the measurement > interval, there are no interrupts and no context switches. > @@ -440,11 +442,11 @@ The following describes four typical scenarios: > > This is similar to the previous example, but with non-zero number of > and CPU time consumed by hard interrupts, along with non-zero CPU > - time consumed by in-kernel execution.:: > + time consumed by in-kernel execution. :: > > - rcu: hardirqs softirqs csw/system > - rcu: number: 624 0 0 > - rcu: cputime: 49 0 2446 ==> 2500(ms) > + rcu: hardirqs softirqs csw/system > + rcu: number: 624 0 0 > + rcu: cputime: 49 0 2446 ==> 2500(ms) > > The fact that there are zero softirqs gives a hint that these were > disabled, perhaps via local_bh_disable(). It is of course possible > @@ -454,20 +456,22 @@ The following describes four typical scenarios: > > 3. A CPU looping with preemption disabled. > > - Here, only the number of context switches is zero.:: > + Here, only the number of context switches is zero. :: > > - rcu: hardirqs softirqs csw/system > - rcu: number: 624 45 0 > - rcu: cputime: 69 1 2425 ==> 2500(ms) > + rcu: hardirqs softirqs csw/system > + rcu: number: 624 45 0 > + rcu: cputime: 69 1 2425 ==> 2500(ms) > > This situation hints that the stalled CPU was looping with preemption > disabled. > > -4. No looping, but massive hard and soft interrupts.:: > +4. No looping, but massive hard and soft interrupts. > + > + :: > > - rcu: hardirqs softirqs csw/system > - rcu: number: xx xx 0 > - rcu: cputime: xx xx 0 ==> 2500(ms) > + rcu: hardirqs softirqs csw/system > + rcu: number: xx xx 0 > + rcu: cputime: xx xx 0 ==> 2500(ms) > > Here, the number and CPU time of hard interrupts are all non-zero, > but the number of context switches and the in-kernel CPU time consumed > Because paragraphs below the snippets directly refers to them,just use colon: ---- >8 ---- diff --git a/Documentation/RCU/stallwarn.rst b/Documentation/RCU/stallwarn.rst index f15b766d39b8d9..4f6b91be03cfe0 100644 --- a/Documentation/RCU/stallwarn.rst +++ b/Documentation/RCU/stallwarn.rst @@ -423,9 +423,7 @@ The sampling period is shown as follows:: The following describes four typical scenarios: -1. A CPU looping with interrupts disabled. - - :: +1. A CPU looping with interrupts disabled:: rcu: hardirqs softirqs csw/system rcu: number: 0 0 0 @@ -442,7 +440,7 @@ The following describes four typical scenarios: This is similar to the previous example, but with non-zero number of and CPU time consumed by hard interrupts, along with non-zero CPU - time consumed by in-kernel execution. :: + time consumed by in-kernel execution:: rcu: hardirqs softirqs csw/system rcu: number: 624 0 0 @@ -456,7 +454,7 @@ The following describes four typical scenarios: 3. A CPU looping with preemption disabled. - Here, only the number of context switches is zero. :: + Here, only the number of context switches is zero:: rcu: hardirqs softirqs csw/system rcu: number: 624 45 0 @@ -465,9 +463,7 @@ The following describes four typical scenarios: This situation hints that the stalled CPU was looping with preemption disabled. -4. No looping, but massive hard and soft interrupts. - - :: +4. No looping, but massive hard and soft interrupts:: rcu: hardirqs softirqs csw/system rcu: number: xx xx 0 Thanks.
On 2022/11/23 21:54, Bagas Sanjaya wrote: > On Wed, Nov 23, 2022 at 08:02:38PM +0800, Zhen Lei wrote: >> Documentation/RCU/stallwarn.rst: >> 401: WARNING: Literal block expected; none found. >> 428: WARNING: Literal block expected; none found. >> 445: WARNING: Literal block expected; none found. >> 459: WARNING: Literal block expected; none found. >> 468: WARNING: Literal block expected; none found. >> >> The literal block need to be indented, so add two spaces to each line. > > Indenting to match alignment of lists texts? It's required by reStructuredText Markup Specification. Indented Literal Blocks Indented literal blocks are indicated by indentation relative to the surrounding text (leading whitespace on each line). The literal block ends with the end of the indentation. The surrounding text need to be indented, relative to the paragraphs above and below it and at the same level. > >> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> > > You miss crediting linux-next list, so please add: > > Link: https://lore.kernel.org/linux-next/20221123163255.48653674@canb.auug.org.au/ > Fixes: 3d2788ba4573 ("doc: Document CONFIG_RCU_CPU_STALL_CPUTIME=y stall information") > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> OK, thanks. > >> -The sampling period is shown as follows: >> -:<------------first timeout---------->:<-----second timeout----->: >> -:<--half timeout-->:<--half timeout-->: : >> -: :<--first period-->: : >> -: :<-----------second sampling period---------->: >> -: : : : >> -: snapshot time point 1st-stall 2nd-stall >> +The sampling period is shown as follows:: >> >> + |<------------first timeout---------->|<-----second timeout----->| >> + |<--half timeout-->|<--half timeout-->| | >> + | |<--first period-->| | >> + | |<-----------second sampling period---------->| >> + | | | | >> + | snapshot time point 1st-stall 2nd-stall > > The beginning pipe (|) on the last line of diagram above shouldn't be there > (axis label?). OK, it might look better to delete it. The text in literal block is treated as plain text. > >> >> The following describes four typical scenarios: >> >> -1. A CPU looping with interrupts disabled.:: >> +1. A CPU looping with interrupts disabled. >> >> - rcu: hardirqs softirqs csw/system >> - rcu: number: 0 0 0 >> - rcu: cputime: 0 0 0 ==> 2500(ms) >> + :: >> + >> + rcu: hardirqs softirqs csw/system >> + rcu: number: 0 0 0 >> + rcu: cputime: 0 0 0 ==> 2500(ms) >> >> Because interrupts have been disabled throughout the measurement >> interval, there are no interrupts and no context switches. >> @@ -440,11 +442,11 @@ The following describes four typical scenarios: >> >> This is similar to the previous example, but with non-zero number of >> and CPU time consumed by hard interrupts, along with non-zero CPU >> - time consumed by in-kernel execution.:: >> + time consumed by in-kernel execution. :: >> >> - rcu: hardirqs softirqs csw/system >> - rcu: number: 624 0 0 >> - rcu: cputime: 49 0 2446 ==> 2500(ms) >> + rcu: hardirqs softirqs csw/system >> + rcu: number: 624 0 0 >> + rcu: cputime: 49 0 2446 ==> 2500(ms) >> >> The fact that there are zero softirqs gives a hint that these were >> disabled, perhaps via local_bh_disable(). It is of course possible >> @@ -454,20 +456,22 @@ The following describes four typical scenarios: >> >> 3. A CPU looping with preemption disabled. >> >> - Here, only the number of context switches is zero.:: >> + Here, only the number of context switches is zero. :: >> >> - rcu: hardirqs softirqs csw/system >> - rcu: number: 624 45 0 >> - rcu: cputime: 69 1 2425 ==> 2500(ms) >> + rcu: hardirqs softirqs csw/system >> + rcu: number: 624 45 0 >> + rcu: cputime: 69 1 2425 ==> 2500(ms) >> >> This situation hints that the stalled CPU was looping with preemption >> disabled. >> >> -4. No looping, but massive hard and soft interrupts.:: >> +4. No looping, but massive hard and soft interrupts. >> + >> + :: >> >> - rcu: hardirqs softirqs csw/system >> - rcu: number: xx xx 0 >> - rcu: cputime: xx xx 0 ==> 2500(ms) >> + rcu: hardirqs softirqs csw/system >> + rcu: number: xx xx 0 >> + rcu: cputime: xx xx 0 ==> 2500(ms) >> >> Here, the number and CPU time of hard interrupts are all non-zero, >> but the number of context switches and the in-kernel CPU time consumed >> > > Because paragraphs below the snippets directly refers to them,just use colon: This makes the style inconsistent when viewed on the web page. So I decided not to change it. Take your advice and the end result will be as follows: (1 and 4 followed by a colon, 2 and 4 followed by a dot) 1. A CPU looping with interrupts disabled: 2. A CPU looping with bottom halves disabled. 3. A CPU looping with preemption disabled. 4. No looping, but massive hard and soft interrupts: > > ---- >8 ---- > > diff --git a/Documentation/RCU/stallwarn.rst b/Documentation/RCU/stallwarn.rst > index f15b766d39b8d9..4f6b91be03cfe0 100644 > --- a/Documentation/RCU/stallwarn.rst > +++ b/Documentation/RCU/stallwarn.rst > @@ -423,9 +423,7 @@ The sampling period is shown as follows:: > > The following describes four typical scenarios: > > -1. A CPU looping with interrupts disabled. > - > - :: > +1. A CPU looping with interrupts disabled:: > > rcu: hardirqs softirqs csw/system > rcu: number: 0 0 0 > @@ -442,7 +440,7 @@ The following describes four typical scenarios: > > This is similar to the previous example, but with non-zero number of > and CPU time consumed by hard interrupts, along with non-zero CPU > - time consumed by in-kernel execution. :: > + time consumed by in-kernel execution:: > > rcu: hardirqs softirqs csw/system > rcu: number: 624 0 0 > @@ -456,7 +454,7 @@ The following describes four typical scenarios: > > 3. A CPU looping with preemption disabled. > > - Here, only the number of context switches is zero. :: > + Here, only the number of context switches is zero:: > > rcu: hardirqs softirqs csw/system > rcu: number: 624 45 0 > @@ -465,9 +463,7 @@ The following describes four typical scenarios: > This situation hints that the stalled CPU was looping with preemption > disabled. > > -4. No looping, but massive hard and soft interrupts. > - > - :: > +4. No looping, but massive hard and soft interrupts:: > > rcu: hardirqs softirqs csw/system > rcu: number: xx xx 0 > > Thanks. >
On 2022/11/24 11:34, Leizhen (ThunderTown) wrote: > > > On 2022/11/23 21:54, Bagas Sanjaya wrote: >> On Wed, Nov 23, 2022 at 08:02:38PM +0800, Zhen Lei wrote: >>> Documentation/RCU/stallwarn.rst: >>> 401: WARNING: Literal block expected; none found. >>> 428: WARNING: Literal block expected; none found. >>> 445: WARNING: Literal block expected; none found. >>> 459: WARNING: Literal block expected; none found. >>> 468: WARNING: Literal block expected; none found. >>> >>> The literal block need to be indented, so add two spaces to each line. >> >> Indenting to match alignment of lists texts? > > It's required by reStructuredText Markup Specification. > > Indented Literal Blocks > Indented literal blocks are indicated by indentation relative to the > surrounding text (leading whitespace on each line). The literal block > ends with the end of the indentation. > > The surrounding text need to be indented, relative to the paragraphs > above and below it and at the same level. > >> >>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> >> >> You miss crediting linux-next list, so please add: >> >> Link: https://lore.kernel.org/linux-next/20221123163255.48653674@canb.auug.org.au/ >> Fixes: 3d2788ba4573 ("doc: Document CONFIG_RCU_CPU_STALL_CPUTIME=y stall information") >> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > OK, thanks. > >> >>> -The sampling period is shown as follows: >>> -:<------------first timeout---------->:<-----second timeout----->: >>> -:<--half timeout-->:<--half timeout-->: : >>> -: :<--first period-->: : >>> -: :<-----------second sampling period---------->: >>> -: : : : >>> -: snapshot time point 1st-stall 2nd-stall >>> +The sampling period is shown as follows:: >>> >>> + |<------------first timeout---------->|<-----second timeout----->| >>> + |<--half timeout-->|<--half timeout-->| | >>> + | |<--first period-->| | >>> + | |<-----------second sampling period---------->| >>> + | | | | >>> + | snapshot time point 1st-stall 2nd-stall >> >> The beginning pipe (|) on the last line of diagram above shouldn't be there >> (axis label?). > > OK, it might look better to delete it. > > The text in literal block is treated as plain text. > > >> >>> >>> The following describes four typical scenarios: >>> >>> -1. A CPU looping with interrupts disabled.:: >>> +1. A CPU looping with interrupts disabled. >>> >>> - rcu: hardirqs softirqs csw/system >>> - rcu: number: 0 0 0 >>> - rcu: cputime: 0 0 0 ==> 2500(ms) >>> + :: >>> + >>> + rcu: hardirqs softirqs csw/system >>> + rcu: number: 0 0 0 >>> + rcu: cputime: 0 0 0 ==> 2500(ms) >>> >>> Because interrupts have been disabled throughout the measurement >>> interval, there are no interrupts and no context switches. >>> @@ -440,11 +442,11 @@ The following describes four typical scenarios: >>> >>> This is similar to the previous example, but with non-zero number of >>> and CPU time consumed by hard interrupts, along with non-zero CPU >>> - time consumed by in-kernel execution.:: >>> + time consumed by in-kernel execution. :: >>> >>> - rcu: hardirqs softirqs csw/system >>> - rcu: number: 624 0 0 >>> - rcu: cputime: 49 0 2446 ==> 2500(ms) >>> + rcu: hardirqs softirqs csw/system >>> + rcu: number: 624 0 0 >>> + rcu: cputime: 49 0 2446 ==> 2500(ms) >>> >>> The fact that there are zero softirqs gives a hint that these were >>> disabled, perhaps via local_bh_disable(). It is of course possible >>> @@ -454,20 +456,22 @@ The following describes four typical scenarios: >>> >>> 3. A CPU looping with preemption disabled. >>> >>> - Here, only the number of context switches is zero.:: >>> + Here, only the number of context switches is zero. :: >>> >>> - rcu: hardirqs softirqs csw/system >>> - rcu: number: 624 45 0 >>> - rcu: cputime: 69 1 2425 ==> 2500(ms) >>> + rcu: hardirqs softirqs csw/system >>> + rcu: number: 624 45 0 >>> + rcu: cputime: 69 1 2425 ==> 2500(ms) >>> >>> This situation hints that the stalled CPU was looping with preemption >>> disabled. >>> >>> -4. No looping, but massive hard and soft interrupts.:: >>> +4. No looping, but massive hard and soft interrupts. >>> + >>> + :: >>> >>> - rcu: hardirqs softirqs csw/system >>> - rcu: number: xx xx 0 >>> - rcu: cputime: xx xx 0 ==> 2500(ms) >>> + rcu: hardirqs softirqs csw/system >>> + rcu: number: xx xx 0 >>> + rcu: cputime: xx xx 0 ==> 2500(ms) >>> >>> Here, the number and CPU time of hard interrupts are all non-zero, >>> but the number of context switches and the in-kernel CPU time consumed >>> >> >> Because paragraphs below the snippets directly refers to them,just use colon: > > This makes the style inconsistent when viewed on the web page. So I decided not > to change it. > > Take your advice and the end result will be as follows: (1 and 4 followed by a > colon, 2 and 3 followed by a dot) > > 1. A CPU looping with interrupts disabled: > 2. A CPU looping with bottom halves disabled. > 3. A CPU looping with preemption disabled. > 4. No looping, but massive hard and soft interrupts: Oh, I accept the suggestions for items 2 and 3. > >> >> ---- >8 ---- >> >> diff --git a/Documentation/RCU/stallwarn.rst b/Documentation/RCU/stallwarn.rst >> index f15b766d39b8d9..4f6b91be03cfe0 100644 >> --- a/Documentation/RCU/stallwarn.rst >> +++ b/Documentation/RCU/stallwarn.rst >> @@ -423,9 +423,7 @@ The sampling period is shown as follows:: >> >> The following describes four typical scenarios: >> >> -1. A CPU looping with interrupts disabled. >> - >> - :: >> +1. A CPU looping with interrupts disabled:: >> >> rcu: hardirqs softirqs csw/system >> rcu: number: 0 0 0 >> @@ -442,7 +440,7 @@ The following describes four typical scenarios: >> >> This is similar to the previous example, but with non-zero number of >> and CPU time consumed by hard interrupts, along with non-zero CPU >> - time consumed by in-kernel execution. :: >> + time consumed by in-kernel execution:: >> >> rcu: hardirqs softirqs csw/system >> rcu: number: 624 0 0 >> @@ -456,7 +454,7 @@ The following describes four typical scenarios: >> >> 3. A CPU looping with preemption disabled. >> >> - Here, only the number of context switches is zero. :: >> + Here, only the number of context switches is zero:: >> >> rcu: hardirqs softirqs csw/system >> rcu: number: 624 45 0 >> @@ -465,9 +463,7 @@ The following describes four typical scenarios: >> This situation hints that the stalled CPU was looping with preemption >> disabled. >> >> -4. No looping, but massive hard and soft interrupts. >> - >> - :: >> +4. No looping, but massive hard and soft interrupts:: >> >> rcu: hardirqs softirqs csw/system >> rcu: number: xx xx 0 >> >> Thanks. >> >
diff --git a/Documentation/RCU/stallwarn.rst b/Documentation/RCU/stallwarn.rst index c1e92dfef40d501..f15b766d39b8d98 100644 --- a/Documentation/RCU/stallwarn.rst +++ b/Documentation/RCU/stallwarn.rst @@ -398,9 +398,9 @@ In kernels built with CONFIG_RCU_CPU_STALL_CPUTIME=y or booted with rcupdate.rcu_cpu_stall_cputime=1, the following additional information is supplied with each RCU CPU stall warning:: -rcu: hardirqs softirqs csw/system -rcu: number: 624 45 0 -rcu: cputime: 69 1 2425 ==> 2500(ms) + rcu: hardirqs softirqs csw/system + rcu: number: 624 45 0 + rcu: cputime: 69 1 2425 ==> 2500(ms) These statistics are collected during the sampling period. The values in row "number:" are the number of hard interrupts, number of soft @@ -412,22 +412,24 @@ in milliseconds. Because user-mode tasks normally do not cause RCU CPU stalls, these tasks are typically kernel tasks, which is why only the system CPU time are considered. -The sampling period is shown as follows: -:<------------first timeout---------->:<-----second timeout----->: -:<--half timeout-->:<--half timeout-->: : -: :<--first period-->: : -: :<-----------second sampling period---------->: -: : : : -: snapshot time point 1st-stall 2nd-stall +The sampling period is shown as follows:: + |<------------first timeout---------->|<-----second timeout----->| + |<--half timeout-->|<--half timeout-->| | + | |<--first period-->| | + | |<-----------second sampling period---------->| + | | | | + | snapshot time point 1st-stall 2nd-stall The following describes four typical scenarios: -1. A CPU looping with interrupts disabled.:: +1. A CPU looping with interrupts disabled. - rcu: hardirqs softirqs csw/system - rcu: number: 0 0 0 - rcu: cputime: 0 0 0 ==> 2500(ms) + :: + + rcu: hardirqs softirqs csw/system + rcu: number: 0 0 0 + rcu: cputime: 0 0 0 ==> 2500(ms) Because interrupts have been disabled throughout the measurement interval, there are no interrupts and no context switches. @@ -440,11 +442,11 @@ The following describes four typical scenarios: This is similar to the previous example, but with non-zero number of and CPU time consumed by hard interrupts, along with non-zero CPU - time consumed by in-kernel execution.:: + time consumed by in-kernel execution. :: - rcu: hardirqs softirqs csw/system - rcu: number: 624 0 0 - rcu: cputime: 49 0 2446 ==> 2500(ms) + rcu: hardirqs softirqs csw/system + rcu: number: 624 0 0 + rcu: cputime: 49 0 2446 ==> 2500(ms) The fact that there are zero softirqs gives a hint that these were disabled, perhaps via local_bh_disable(). It is of course possible @@ -454,20 +456,22 @@ The following describes four typical scenarios: 3. A CPU looping with preemption disabled. - Here, only the number of context switches is zero.:: + Here, only the number of context switches is zero. :: - rcu: hardirqs softirqs csw/system - rcu: number: 624 45 0 - rcu: cputime: 69 1 2425 ==> 2500(ms) + rcu: hardirqs softirqs csw/system + rcu: number: 624 45 0 + rcu: cputime: 69 1 2425 ==> 2500(ms) This situation hints that the stalled CPU was looping with preemption disabled. -4. No looping, but massive hard and soft interrupts.:: +4. No looping, but massive hard and soft interrupts. + + :: - rcu: hardirqs softirqs csw/system - rcu: number: xx xx 0 - rcu: cputime: xx xx 0 ==> 2500(ms) + rcu: hardirqs softirqs csw/system + rcu: number: xx xx 0 + rcu: cputime: xx xx 0 ==> 2500(ms) Here, the number and CPU time of hard interrupts are all non-zero, but the number of context switches and the in-kernel CPU time consumed
Documentation/RCU/stallwarn.rst: 401: WARNING: Literal block expected; none found. 428: WARNING: Literal block expected; none found. 445: WARNING: Literal block expected; none found. 459: WARNING: Literal block expected; none found. 468: WARNING: Literal block expected; none found. The literal block need to be indented, so add two spaces to each line. In addition, ':', which is used as a boundary in the literal block, is replaced by '|'. Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- Documentation/RCU/stallwarn.rst | 56 ++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 26 deletions(-) v1 --> v2: For the case that both colons need to be deleted, change "::" to expanded form or partially minimized form.