From: Petr Vorel <pvorel@suse.cz>
To: Alessandro Carminati <acarmina@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>,
Alessandro Carminati <alessandro.carminati@gmail.com>,
Mel Gorman <mgorman@suse.com>,
ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v3] cfs-scheduler/starvation.c: Skip test on realtime kernels
Date: Mon, 27 Jan 2025 14:37:45 +0100 [thread overview]
Message-ID: <20250127133745.GC265345@pevik> (raw)
In-Reply-To: <CAGegRW4RNff_nukrmBW-iab4yCddaoh0wcsOF5pUkYQOBCUcyA@mail.gmail.com>
> Hi Petr,
> Thanks for the feedback.
> On Mon, Jan 27, 2025 at 10:39 AM Petr Vorel <pvorel@suse.cz> wrote:
> > > This commit introduces a check in the starvation test case to detect and
> > > skip execution on realtime kernels. The test is designed for use with the
> > > Completely Fair Scheduler and produces meaningless results when run on
> > > realtime kernels.
> > > By skipping the test on realtime kernels, we avoid confusion caused by
> > > misleading results.
> > Thanks a lot for fixing -1 in v3. I was thinking to merge v2 and fix -1
> > manually, but I'm really not sure if the test is meaningless for realtime.
> > Was the test really written for CFS? It would be nice to get ack from any
> > realtime developer.
> > BTW test is working well on x86_64 SLES realtime kernel on VM, i.e. both you
> > want to skip (RT) or warn about unreliable results (VM). That of course
> > does not mean it's relevant for RT kernel.
> Here's what I observed:
> * In our CI pipeline, the test consistently fails on our RT kernel running
> on AARCH64 boards.
> * Upon investigating and reading through the code, I noticed that the test
> seems to rely on an equal number of times the child and parent tasks get
> scheduled. This behavior aligns with how CFS works... less with RT.
> * That said, there are scenarios where CFS and RT might make similar
> scheduling decisions, particularly in RT when all tasks share the same
> priority.
> * Finally, as a hint, I noticed that the test is currently placed in the
> cfs-scheduler directory. I interpret this as a strong suggestion from the
> author that the test was intended for the CFS scheduler.
Oops, I completely missed the directory. And all the above sounds right.
Also reproducer was posted for EEVDF, which is CFS replacement.
OTOH cfs_bandwidth01.c, which requires CONFIG_CFS_BANDWIDTH works on RT kernel
well, also very old hackbench.c (which needs to be rewritten).
Anyway I wanted to have ack of somebody who actually understands the kernel
code. I got a confirmation from Mike Galbraith that "the test is about fair class
vs fair class wakeup latency, has little relevance to RT. It does bang on locks
in the wakeup path, but no more than about a zillion other things." therefore
I'm going to merge.
Kind regards,
Petr
> > Kind regards,
> > Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2025-01-27 13:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-27 8:32 [LTP] [PATCH v3] cfs-scheduler/starvation.c: Skip test on realtime kernels Alessandro Carminati
2025-01-27 9:39 ` Petr Vorel
2025-01-27 11:07 ` Alessandro Carminati
2025-01-27 13:37 ` Petr Vorel [this message]
2025-01-27 14:13 ` Petr Vorel
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=20250127133745.GC265345@pevik \
--to=pvorel@suse.cz \
--cc=acarmina@redhat.com \
--cc=alessandro.carminati@gmail.com \
--cc=efault@gmx.de \
--cc=ltp@lists.linux.it \
--cc=mgorman@suse.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