Re: [PATCH] kselftests: ftrace: limit the executing time by reading from cached trace

From: Steven Rostedt
Date: Mon Oct 18 2021 - 22:16:49 EST


On Mon, 18 Oct 2021 21:26:16 +0800
Li Zhijian <lizhijian@xxxxxxxxxxxxxx> wrote:

> LKP/0day observed that kselftests/ftrace cannot finish within 1 hour on
> a 96 cpus platform where it hangs in the line like:
> 'cat trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l'
> subsystem-enable.tc
>
> It seems that trace will keep growing during it's read by 'cat' command.
> Consequently, trace becomes too large to finish reading.
>
> replace 'cat trace' by:
> $ sed -i 's/cat trace |/read_cached_trace |/g' $(find test.d -name "*.tc")
>

Instead, what happens if you add this command to each test?

if [ -t options/pause-on-trace ]; then
echo 1 > options/pause-on-trace
fi

We also need to add to the "initialize_ftrace" function in test.d/functions.

if [ -t options/pause-on-trace ]; then
echo 0 > options/pause-on-trace
fi

-- Steve

> CC: Philip Li <philip.li@xxxxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxxxxx>
> ---