public inbox for kernelci@lists.linux.dev
 help / color / mirror / Atom feed
From: Laura Nao <laura.nao@collabora.com>
To: skhan@linuxfoundation.org
Cc: kernel@collabora.com, kernelci@lists.linux.dev,
	laura.nao@collabora.com, linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org, mhiramat@kernel.org,
	shuah@kernel.org, tim.bird@sony.com
Subject: Re: [RFC PATCH 1/1] kselftests: Add test to detect boot event slowdowns
Date: Wed, 31 Jul 2024 11:25:34 +0200	[thread overview]
Message-ID: <20240731092534.16213-1-laura.nao@collabora.com> (raw)
In-Reply-To: <65c59f75-3810-4490-991e-62b5aafe1f5a@linuxfoundation.org>

Hi Shuah,

On 7/25/24 17:50, Shuah Khan wrote:
> On 7/25/24 05:06, Laura Nao wrote:
>> Introduce a new kselftest to identify slowdowns in key boot events.
>> The test uses ftrace to track timings for specific boot events.
>> The kprobe_timestamps_to_yaml.py script can be run once to generate a
>> YAML file with the initial reference timestamps for these events.
>> The test_boot_time.py script can then be run on subsequent boots to
>> compare current timings against the reference values and check for
>> significant slowdowns over time.
>> The test ships with a bootconfig file for ftrace setup and a config
>> fragment for the necessary kernel configurations.
>>
>> Signed-off-by: Laura Nao <laura.nao@collabora.com>
> 
> I am repeating the same comments I made on the cover letter here as
> well.
> 
> What are the dependencies if any for this new test to work?
> Please do remember that tests in default run needs to have
> minimal dependencies so they can run on systems that have
> minimal support.
>

In order to run this test the kernel needs to be compiled with the
provided config fragment, which enables tracing and embeds the provided
bootconfig file in the kernel. Additionally, a YAML file with reference 
timestamps must be supplied as input to the test.
 
> As mentioned earlier take a look at the tools/power/pm-graph
> bootgraph.py and sleepgraph.py to see if you can leverage
> them - bootgraph detects slowdowns during boot.
> 
> We don't want to add duplicate scripts if the other one
> serves the needs. Those can be moved to selftests if it
> make sense.
> 
> I will review this once we figure out if bootgraph serves
> the needs and I understand the dependencies for this test
> to work.
> 

Thanks for the pointers! 

It looks like sleepgraph.py is more focused on analyzing suspend/resume 
timings, while bootgraph.py measures boot time using the kernel log and 
ftrace. The latter might indeed come in handy.
As far as I can see, the script doesn't support automatic detection of 
boot slowdowns, and the output is in HTML format, which is meant for 
human analysis. However, I can look into adding support for a more 
machine-readable output format too. The test proposed in this patch could 
then use bootgraph.py to generate the reference file and measure current 
boot timings.

I'll look into this and report back.

Thanks,

Laura


  reply	other threads:[~2024-07-31  9:25 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-25 11:06 [RFC PATCH 0/1] Add kselftest to detect boot event slowdowns Laura Nao
2024-07-25 11:06 ` [RFC PATCH 1/1] kselftests: Add test " Laura Nao
2024-07-25 15:50   ` Shuah Khan
2024-07-31  9:25     ` Laura Nao [this message]
2024-08-08 10:45       ` Laura Nao
2024-07-25 15:47 ` [RFC PATCH 0/1] Add kselftest " Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240731092534.16213-1-laura.nao@collabora.com \
    --to=laura.nao@collabora.com \
    --cc=kernel@collabora.com \
    --cc=kernelci@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=shuah@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=tim.bird@sony.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox