* [trace:trace/for-next 19/23] htmldocs: Documentation/trace/histogram.rst:1969: WARNING: Unexpected indentation.
@ 2023-01-28 18:26 kernel test robot
2023-01-29 3:14 ` [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks Bagas Sanjaya
0 siblings, 1 reply; 5+ messages in thread
From: kernel test robot @ 2023-01-28 18:26 UTC (permalink / raw)
To: Steven Rostedt (Google); +Cc: oe-kbuild-all, linux-doc
tree: git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace trace/for-next
head: 9f712417e1fc7d3db042941524e59573e02a55c7
commit: 88238513bb26713ef6d4418bdf1af062fe608bcb [19/23] tracing/histogram: Document variable stacktrace
reproduce:
# https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/commit/?id=88238513bb26713ef6d4418bdf1af062fe608bcb
git remote add trace git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
git fetch --no-tags trace trace/for-next
git checkout 88238513bb26713ef6d4418bdf1af062fe608bcb
make menuconfig
# enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
make htmldocs
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> Documentation/trace/histogram.rst:1969: WARNING: Unexpected indentation.
>> Documentation/trace/histogram.rst:1970: WARNING: Block quote ends without a blank line; unexpected unindent.
>> Documentation/trace/histogram.rst:2014: WARNING: Definition list ends without a blank line; unexpected unindent.
vim +1969 Documentation/trace/histogram.rst
1949
1950 # cd /sys/kernel/tracing
1951 # echo 's:block_lat pid_t pid; u64 delta; unsigned long[] stack;' > dynamic_events
1952 # echo 'hist:keys=next_pid:ts=common_timestamp.usecs,st=stacktrace if prev_state == 2' >> events/sched/sched_switch/trigger
1953 # echo 'hist:keys=prev_pid:delta=common_timestamp.usecs-$ts,s=$st:onmax($delta).trace(block_lat,prev_pid,$delta,$s)' >> events/sched/sched_switch/trigger
1954 # echo 1 > events/synthetic/block_lat/enable
1955 # cat trace
1956
1957 # tracer: nop
1958 #
1959 # entries-in-buffer/entries-written: 2/2 #P:8
1960 #
1961 # _-----=> irqs-off/BH-disabled
1962 # / _----=> need-resched
1963 # | / _---=> hardirq/softirq
1964 # || / _--=> preempt-depth
1965 # ||| / _-=> migrate-disable
1966 # |||| / delay
1967 # TASK-PID CPU# ||||| TIMESTAMP FUNCTION
1968 # | | | ||||| | |
> 1969 <idle>-0 [005] d..4. 521.164922: block_lat: pid=0 delta=8322 stack=STACK:
> 1970 => __schedule+0x448/0x7b0
1971 => schedule+0x5a/0xb0
1972 => io_schedule+0x42/0x70
1973 => bit_wait_io+0xd/0x60
1974 => __wait_on_bit+0x4b/0x140
1975 => out_of_line_wait_on_bit+0x91/0xb0
1976 => jbd2_journal_commit_transaction+0x1679/0x1a70
1977 => kjournald2+0xa9/0x280
1978 => kthread+0xe9/0x110
1979 => ret_from_fork+0x2c/0x50
1980
1981 <...>-2 [004] d..4. 525.184257: block_lat: pid=2 delta=76 stack=STACK:
1982 => __schedule+0x448/0x7b0
1983 => schedule+0x5a/0xb0
1984 => schedule_timeout+0x11a/0x150
1985 => wait_for_completion_killable+0x144/0x1f0
1986 => __kthread_create_on_node+0xe7/0x1e0
1987 => kthread_create_on_node+0x51/0x70
1988 => create_worker+0xcc/0x1a0
1989 => worker_thread+0x2ad/0x380
1990 => kthread+0xe9/0x110
1991 => ret_from_fork+0x2c/0x50
1992
1993 A synthetic event that has a stacktrace field may use it as a key in histogram:
1994
1995 # echo 'hist:delta.buckets=100,stack.stacktrace:sort=delta' > events/synthetic/block_lat/trigger
1996 # cat events/synthetic/block_lat/hist
1997
1998 # event histogram
1999 #
2000 # trigger info: hist:keys=delta.buckets=100,stacktrace:vals=hitcount:sort=delta.buckets=100:size=2048 [active]
2001 #
2002
2003 { delta: ~ 0-99, stacktrace:
2004 event_hist_trigger+0x464/0x480
2005 event_triggers_call+0x52/0xe0
2006 trace_event_buffer_commit+0x193/0x250
2007 trace_event_raw_event_sched_switch+0xfc/0x150
2008 __traceiter_sched_switch+0x41/0x60
2009 __schedule+0x448/0x7b0
2010 schedule_idle+0x26/0x40
2011 cpu_startup_entry+0x19/0x20
2012 start_secondary+0xed/0xf0
2013 secondary_startup_64_no_verify+0xe0/0xeb
> 2014 } hitcount: 6
2015 { delta: ~ 0-99, stacktrace:
2016 event_hist_trigger+0x464/0x480
2017 event_triggers_call+0x52/0xe0
2018 trace_event_buffer_commit+0x193/0x250
2019 trace_event_raw_event_sched_switch+0xfc/0x150
2020 __traceiter_sched_switch+0x41/0x60
2021 __schedule+0x448/0x7b0
2022 schedule_idle+0x26/0x40
2023 cpu_startup_entry+0x19/0x20
2024 __pfx_kernel_init+0x0/0x10
2025 arch_call_rest_init+0xa/0x24
2026 start_kernel+0x964/0x98d
2027 secondary_startup_64_no_verify+0xe0/0xeb
2028 } hitcount: 3
2029 { delta: ~ 0-99, stacktrace:
2030 event_hist_trigger+0x464/0x480
2031 event_triggers_call+0x52/0xe0
2032 trace_event_buffer_commit+0x193/0x250
2033 trace_event_raw_event_sched_switch+0xfc/0x150
2034 __traceiter_sched_switch+0x41/0x60
2035 __schedule+0x448/0x7b0
2036 schedule+0x5a/0xb0
2037 worker_thread+0xaf/0x380
2038 kthread+0xe9/0x110
2039 ret_from_fork+0x2c/0x50
2040 } hitcount: 1
2041 { delta: ~ 100-199, stacktrace:
2042 event_hist_trigger+0x464/0x480
2043 event_triggers_call+0x52/0xe0
2044 trace_event_buffer_commit+0x193/0x250
2045 trace_event_raw_event_sched_switch+0xfc/0x150
2046 __traceiter_sched_switch+0x41/0x60
2047 __schedule+0x448/0x7b0
2048 schedule_idle+0x26/0x40
2049 cpu_startup_entry+0x19/0x20
2050 start_secondary+0xed/0xf0
2051 secondary_startup_64_no_verify+0xe0/0xeb
2052 } hitcount: 15
2053 [..]
2054 { delta: ~ 8500-8599, stacktrace:
2055 event_hist_trigger+0x464/0x480
2056 event_triggers_call+0x52/0xe0
2057 trace_event_buffer_commit+0x193/0x250
2058 trace_event_raw_event_sched_switch+0xfc/0x150
2059 __traceiter_sched_switch+0x41/0x60
2060 __schedule+0x448/0x7b0
2061 schedule_idle+0x26/0x40
2062 cpu_startup_entry+0x19/0x20
2063 start_secondary+0xed/0xf0
2064 secondary_startup_64_no_verify+0xe0/0xeb
2065 } hitcount: 1
2066
2067 Totals:
2068 Hits: 89
2069 Entries: 11
2070 Dropped: 0
2071
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks
2023-01-28 18:26 [trace:trace/for-next 19/23] htmldocs: Documentation/trace/histogram.rst:1969: WARNING: Unexpected indentation kernel test robot
@ 2023-01-29 3:14 ` Bagas Sanjaya
2023-02-02 18:14 ` Jonathan Corbet
0 siblings, 1 reply; 5+ messages in thread
From: Bagas Sanjaya @ 2023-01-29 3:14 UTC (permalink / raw)
To: linux-kernel, linux-trace-kernel, linux-doc, oe-kbuild-all
Cc: Steven Rostedt, Masami Hiramatsu, Jonathan Corbet, Bagas Sanjaya,
kernel test robot
Most shell command snippets (echo/cat) and their output are already in
literal code blocks. However a few still isn't wrapped, in which the
htmldocs output is ugly.
Wrap the remaining unwrapped snippets, while also fix recent kernel test
robot warnings.
Link: https://lore.kernel.org/linux-doc/202301290253.LU5yIxcJ-lkp@intel.com/
Fixes: 88238513bb2671 ("tracing/histogram: Document variable stacktrace")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
---
Documentation/trace/histogram.rst | 93 ++++++++++++++++---------------
1 file changed, 47 insertions(+), 46 deletions(-)
diff --git a/Documentation/trace/histogram.rst b/Documentation/trace/histogram.rst
index 5c391328b9bb41..8e95295e39b65c 100644
--- a/Documentation/trace/histogram.rst
+++ b/Documentation/trace/histogram.rst
@@ -1864,7 +1864,7 @@ A histogram can now be defined for the new synthetic event::
The above shows the latency "lat" in a power of 2 grouping.
Like any other event, once a histogram is enabled for the event, the
-output can be displayed by reading the event's 'hist' file.
+output can be displayed by reading the event's 'hist' file::
# cat /sys/kernel/debug/tracing/events/synthetic/wakeup_latency/hist
@@ -1911,7 +1911,7 @@ output can be displayed by reading the event's 'hist' file.
The latency values can also be grouped linearly by a given size with
-the ".buckets" modifier and specify a size (in this case groups of 10).
+the ".buckets" modifier and specify a size (in this case groups of 10)::
# echo 'hist:keys=pid,prio,lat.buckets=10:sort=lat' >> \
/sys/kernel/debug/tracing/events/synthetic/wakeup_latency/trigger
@@ -1945,7 +1945,7 @@ the ".buckets" modifier and specify a size (in this case groups of 10).
To save stacktraces, create a synthetic event with a field of type "unsigned long[]"
or even just "long[]". For example, to see how long a task is blocked in an
-uninterruptible state:
+uninterruptible state::
# cd /sys/kernel/tracing
# echo 's:block_lat pid_t pid; u64 delta; unsigned long[] stack;' > dynamic_events
@@ -1990,7 +1990,8 @@ uninterruptible state:
=> kthread+0xe9/0x110
=> ret_from_fork+0x2c/0x50
-A synthetic event that has a stacktrace field may use it as a key in histogram:
+A synthetic event that has a stacktrace field may use it as a key in
+histogram::
# echo 'hist:delta.buckets=100,stack.stacktrace:sort=delta' > events/synthetic/block_lat/trigger
# cat events/synthetic/block_lat/hist
@@ -2183,11 +2184,11 @@ The following commonly-used handler.action pairs are available:
wakeup_new_test($testpid) if comm=="cyclictest"' >> \
/sys/kernel/debug/tracing/events/sched/sched_wakeup_new/trigger
- Or, equivalently, using the 'trace' keyword syntax:
+ Or, equivalently, using the 'trace' keyword syntax::
- # echo 'hist:keys=$testpid:testpid=pid:onmatch(sched.sched_wakeup_new).\
- trace(wakeup_new_test,$testpid) if comm=="cyclictest"' >> \
- /sys/kernel/debug/tracing/events/sched/sched_wakeup_new/trigger
+ # echo 'hist:keys=$testpid:testpid=pid:onmatch(sched.sched_wakeup_new).\
+ trace(wakeup_new_test,$testpid) if comm=="cyclictest"' >> \
+ /sys/kernel/debug/tracing/events/sched/sched_wakeup_new/trigger
Creating and displaying a histogram based on those events is now
just a matter of using the fields and new synthetic event in the
@@ -2320,48 +2321,48 @@ The following commonly-used handler.action pairs are available:
resulting latency, stored in wakeup_lat, exceeds the current
maximum latency, a snapshot is taken. As part of the setup, all
the scheduler events are also enabled, which are the events that
- will show up in the snapshot when it is taken at some point:
+ will show up in the snapshot when it is taken at some point::
- # echo 1 > /sys/kernel/debug/tracing/events/sched/enable
+ # echo 1 > /sys/kernel/debug/tracing/events/sched/enable
- # echo 'hist:keys=pid:ts0=common_timestamp.usecs \
- if comm=="cyclictest"' >> \
- /sys/kernel/debug/tracing/events/sched/sched_waking/trigger
+ # echo 'hist:keys=pid:ts0=common_timestamp.usecs \
+ if comm=="cyclictest"' >> \
+ /sys/kernel/debug/tracing/events/sched/sched_waking/trigger
- # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0: \
- onmax($wakeup_lat).save(next_prio,next_comm,prev_pid,prev_prio, \
- prev_comm):onmax($wakeup_lat).snapshot() \
- if next_comm=="cyclictest"' >> \
- /sys/kernel/debug/tracing/events/sched/sched_switch/trigger
+ # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0: \
+ onmax($wakeup_lat).save(next_prio,next_comm,prev_pid,prev_prio, \
+ prev_comm):onmax($wakeup_lat).snapshot() \
+ if next_comm=="cyclictest"' >> \
+ /sys/kernel/debug/tracing/events/sched/sched_switch/trigger
When the histogram is displayed, for each bucket the max value
and the saved values corresponding to the max are displayed
following the rest of the fields.
If a snapshot was taken, there is also a message indicating that,
- along with the value and event that triggered the global maximum:
+ along with the value and event that triggered the global maximum::
- # cat /sys/kernel/debug/tracing/events/sched/sched_switch/hist
- { next_pid: 2101 } hitcount: 200
- max: 52 next_prio: 120 next_comm: cyclictest \
- prev_pid: 0 prev_prio: 120 prev_comm: swapper/6
+ # cat /sys/kernel/debug/tracing/events/sched/sched_switch/hist
+ { next_pid: 2101 } hitcount: 200
+ max: 52 next_prio: 120 next_comm: cyclictest \
+ prev_pid: 0 prev_prio: 120 prev_comm: swapper/6
- { next_pid: 2103 } hitcount: 1326
- max: 572 next_prio: 19 next_comm: cyclictest \
- prev_pid: 0 prev_prio: 120 prev_comm: swapper/1
+ { next_pid: 2103 } hitcount: 1326
+ max: 572 next_prio: 19 next_comm: cyclictest \
+ prev_pid: 0 prev_prio: 120 prev_comm: swapper/1
- { next_pid: 2102 } hitcount: 1982 \
- max: 74 next_prio: 19 next_comm: cyclictest \
- prev_pid: 0 prev_prio: 120 prev_comm: swapper/5
+ { next_pid: 2102 } hitcount: 1982 \
+ max: 74 next_prio: 19 next_comm: cyclictest \
+ prev_pid: 0 prev_prio: 120 prev_comm: swapper/5
- Snapshot taken (see tracing/snapshot). Details:
- triggering value { onmax($wakeup_lat) }: 572 \
- triggered by event with key: { next_pid: 2103 }
+ Snapshot taken (see tracing/snapshot). Details:
+ triggering value { onmax($wakeup_lat) }: 572 \
+ triggered by event with key: { next_pid: 2103 }
- Totals:
- Hits: 3508
- Entries: 3
- Dropped: 0
+ Totals:
+ Hits: 3508
+ Entries: 3
+ Dropped: 0
In the above case, the event that triggered the global maximum has
the key with next_pid == 2103. If you look at the bucket that has
@@ -2439,15 +2440,15 @@ The following commonly-used handler.action pairs are available:
$cwnd variable. If the value has changed, a snapshot is taken.
As part of the setup, all the scheduler and tcp events are also
enabled, which are the events that will show up in the snapshot
- when it is taken at some point:
+ when it is taken at some point::
- # echo 1 > /sys/kernel/debug/tracing/events/sched/enable
- # echo 1 > /sys/kernel/debug/tracing/events/tcp/enable
+ # echo 1 > /sys/kernel/debug/tracing/events/sched/enable
+ # echo 1 > /sys/kernel/debug/tracing/events/tcp/enable
- # echo 'hist:keys=dport:cwnd=snd_cwnd: \
- onchange($cwnd).save(snd_wnd,srtt,rcv_wnd): \
- onchange($cwnd).snapshot()' >> \
- /sys/kernel/debug/tracing/events/tcp/tcp_probe/trigger
+ # echo 'hist:keys=dport:cwnd=snd_cwnd: \
+ onchange($cwnd).save(snd_wnd,srtt,rcv_wnd): \
+ onchange($cwnd).snapshot()' >> \
+ /sys/kernel/debug/tracing/events/tcp/tcp_probe/trigger
When the histogram is displayed, for each bucket the tracked value
and the saved values corresponding to that value are displayed
@@ -2470,10 +2471,10 @@ The following commonly-used handler.action pairs are available:
{ dport: 443 } hitcount: 211
changed: 10 snd_wnd: 26960 srtt: 17379 rcv_wnd: 28800
- Snapshot taken (see tracing/snapshot). Details::
+ Snapshot taken (see tracing/snapshot). Details:
- triggering value { onchange($cwnd) }: 10
- triggered by event with key: { dport: 80 }
+ triggering value { onchange($cwnd) }: 10
+ triggered by event with key: { dport: 80 }
Totals:
Hits: 414
base-commit: 9f712417e1fc7d3db042941524e59573e02a55c7
--
An old man doll... just what I always wanted! - Clara
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks
2023-01-29 3:14 ` [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks Bagas Sanjaya
@ 2023-02-02 18:14 ` Jonathan Corbet
2023-02-03 9:19 ` Bagas Sanjaya
0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Corbet @ 2023-02-02 18:14 UTC (permalink / raw)
To: Bagas Sanjaya, linux-kernel, linux-trace-kernel, linux-doc,
oe-kbuild-all
Cc: Steven Rostedt, Masami Hiramatsu, Bagas Sanjaya, kernel test robot
Bagas Sanjaya <bagasdotme@gmail.com> writes:
> Most shell command snippets (echo/cat) and their output are already in
> literal code blocks. However a few still isn't wrapped, in which the
> htmldocs output is ugly.
>
> Wrap the remaining unwrapped snippets, while also fix recent kernel test
> robot warnings.
>
> Link: https://lore.kernel.org/linux-doc/202301290253.LU5yIxcJ-lkp@intel.com/
> Fixes: 88238513bb2671 ("tracing/histogram: Document variable stacktrace")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
> ---
> Documentation/trace/histogram.rst | 93 ++++++++++++++++---------------
> 1 file changed, 47 insertions(+), 46 deletions(-)
So this is a good cleanup and I'd like to apply it, but it doesn't come
close to applying to docs-next. Which tree did you do this against?
Thanks,
jon
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks
2023-02-02 18:14 ` Jonathan Corbet
@ 2023-02-03 9:19 ` Bagas Sanjaya
2023-02-07 17:41 ` Steven Rostedt
0 siblings, 1 reply; 5+ messages in thread
From: Bagas Sanjaya @ 2023-02-03 9:19 UTC (permalink / raw)
To: Jonathan Corbet, linux-kernel, linux-trace-kernel, linux-doc,
oe-kbuild-all
Cc: Steven Rostedt, Masami Hiramatsu, kernel test robot
On 2/3/23 01:14, Jonathan Corbet wrote:
> So this is a good cleanup and I'd like to apply it, but it doesn't come
> close to applying to docs-next. Which tree did you do this against?
>
for-next branch (linux-trace tree).
--
An old man doll... just what I always wanted! - Clara
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks
2023-02-03 9:19 ` Bagas Sanjaya
@ 2023-02-07 17:41 ` Steven Rostedt
0 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2023-02-07 17:41 UTC (permalink / raw)
To: Bagas Sanjaya
Cc: Jonathan Corbet, linux-kernel, linux-trace-kernel, linux-doc,
oe-kbuild-all, Masami Hiramatsu, kernel test robot
On Fri, 3 Feb 2023 16:19:41 +0700
Bagas Sanjaya <bagasdotme@gmail.com> wrote:
> On 2/3/23 01:14, Jonathan Corbet wrote:
> > So this is a good cleanup and I'd like to apply it, but it doesn't come
> > close to applying to docs-next. Which tree did you do this against?
> >
>
> for-next branch (linux-trace tree).
>
I'll add this to my tree. Thanks!
-- Steve
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-02-07 17:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-28 18:26 [trace:trace/for-next 19/23] htmldocs: Documentation/trace/histogram.rst:1969: WARNING: Unexpected indentation kernel test robot
2023-01-29 3:14 ` [PATCH] tracing/histogram: Wrap remaining shell snippets in code blocks Bagas Sanjaya
2023-02-02 18:14 ` Jonathan Corbet
2023-02-03 9:19 ` Bagas Sanjaya
2023-02-07 17:41 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).