Re: [blktrace] c055908abe: WARNING:at_kernel/trace/trace.c:#create_trace_option_files

From: Chaitanya Kulkarni
Date: Sat Feb 27 2021 - 14:54:40 EST


On 2/27/21 06:49, Steven Rostedt wrote:
> On Sat, 27 Feb 2021 19:44:40 +0800
> kernel test robot <oliver.sang@xxxxxxxxx> wrote:
>
>> [ 20.216017] WARNING: CPU: 0 PID: 1 at kernel/trace/trace.c:8370 create_trace_option_files (kbuild/src/consumer/kernel/trace/trace.c:8370 (discriminator 1))
>> [ 20.218480] Modules linked in:
>> [ 20.219395] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.11.0-09341-gc055908abe0d #1
>> [ 20.221182] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
>> [ 20.224540] EIP: create_trace_option_files (kbuild/src/consumer/kernel/trace/trace.c:8370 (discriminator 1))
>> [ 20.225816] Code: d5 01 83 15 2c b7 08 d5 00 83 c0 01 39 c8 0f 84 c7 00 00 00 8b 14 c7 39 72 44 75 df 83 05 10 b7 08 d5 01 83 15 14 b7 08 d5 00 <0f> 0b 83 05 18 b7 08 d5 01 83 15 1c b7 08 d5 00 83 05 20 b7 08 d5
> Looks to be from this:
>
>> +static struct tracer blk_tracer_ext __read_mostly = {
>> + .name = "blkext",
>> + .init = blk_tracer_init,
>> + .reset = blk_tracer_reset,
>> + .start = blk_tracer_start,
>> + .stop = blk_tracer_stop,
>> + .print_header = blk_tracer_print_header,
>> + .print_line = blk_tracer_print_line_ext,
>> + .flags = &blk_tracer_flags,
> ^^^
>
> As blk_tracer already registers those flags, when it gets registered as
> a tracer, and flag names can not be duplicated.
>
> I could fix the infrastructure to detect the same set of flags being
> registered by two different tracers, but in the mean time, it may still
> work to use the blk_trace_flags from blk_tracer, and keep .flags NULL
> here.
>
> -- Steve
Thanks for the reply Steve. This is still under currently discussion and
I'm still
waiting formore people to reply on this approach, if we end up having
this as
a part of final implementation we may need to fix that.

>
>> + .set_flag = blk_tracer_set_flag,
>> +};
>> +