Re: [RFC][PATCH] bootconfig/tracing/ktest: Add ktest examples of testing bootconfig

From: Steven Rostedt
Date: Thu Jun 17 2021 - 09:18:22 EST


On Thu, 17 Jun 2021 11:59:21 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> > +++ b/tools/testing/ktest/examples/bootconfigs/ftrace.bconf

I'm trying to get this file to work. But I may just drop it completely.


> > @@ -0,0 +1,82 @@
> > +#!/bin/sh
>
> This shebang is for the syntax hilighting. Please remove it.
>
> > +
> > +ftrace {
> > + options = "sym-addr", "context-info"
> > + buffer_size = 1MB
> > +}
> > +
> > +ftrace.event {
> > + # Sample1: Make a histogram for initcall functions
> > + synthetic.initcall_latency {
> > + fields = "unsigned long func", "u64 lat"
> > + hist {
> > + keys = func.sym, lat
> > + vals = lat
> > + sort = lat
> > + }
>
> These event.<GROUP>.<EVENT>.hist block is an experimental syntax (plan A),
> and not implemented yet.
>
> > + }
> > + initcall.initcall_start.hist {
> > + keys = func
> > + var.ts0 = common_timestamp.usecs
> > + }
> > + initcall.initcall_finish.hist {
> > + keys = func
> > + var.lat = common_timestamp.usecs - $ts0
> > + onmatch {
> > + event = initcall.initcall_start
> > + action = "initcall_latency(func, $lat)"
> > + }
> > + }
>
> So please drop this Sample1.
>
> > +
> > + # Sample2: kmalloc() tracing in read(2) syscall
> > + syscalls.sys_enter_read.enable_event {
> > + event = kmem.kmalloc
> > + count = 1
> > + }
> > + syscalls.sys_exit_read.disable_event {
> > + event = kmem.kmalloc
> > + }
> > +
> > + # Sample3: Stacktrace at the event
> > + kmem.kmalloc.stacktrace {
> > + count = 5
> > + filter = 'bytes_req >= 65536'
> > + }
> > +
> > + # Sample4: Take a snapshot
> > + block.block_unplug.snapshot {
> > + count = 1
> > + filter = nr_rq > 1
> > + }
> > +
> > + # Sample5: Trace-on/off
> > + block.block_plug.traceon {
> > + filter = nr_rq > 1
> > + }
> > + block.block_unplug.traceoff {
> > + filter = nr_rq > 1
> > + }

None of the above samples do anything.

I'll see if tracing.bconf does anything with the changes.

-- Steve

> > +
> > + # Sample6: onmax
> > + sched.sched_waking {
> > + enable
> > + hist {
> > + keys = pid
> > + ts1 = common_timestamp.usecs
> > + filter = 'comm == "cyclictest"'
> > + }
> > + }