[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANDhNCqgCGtWubkuMpn=GdfLwP6d5kMEvbhoQL4oef5yf_74ug@mail.gmail.com>
Date: Wed, 16 Apr 2025 17:23:11 -0700
From: John Stultz <jstultz@...gle.com>
To: hupu <hupu.gm@...il.com>
Cc: linux-kernel@...r.kernel.org, juri.lelli@...hat.com, peterz@...radead.org,
vschneid@...hat.com, mingo@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, hupu@...nssion.com
Subject: Re: [RFC 1/1] sched: Skip redundant operations for proxy tasks
needing return migration
On Thu, Apr 10, 2025 at 2:51 AM hupu <hupu.gm@...il.com> wrote:
>
> Hi John:
> Thank you for your feedback.
>
> On Thu, Apr 10, 2025 at 10:41 AM John Stultz <jstultz@...gle.com> wrote:
> >
> > Unfortunately this patch crashes pretty quickly in my testing. The
> > first issue was proxy_needs_return() calls deactivate_task() w/
> > DEQUEUE_NOCLOCK, which causes warnings when the update_rq_clock()
> > hasn't been called. Preserving the update_rq_clock() line before
> > checking proxy_needs_return() avoided that issue, but then I saw hangs
> > during bootup, which I suspect is due to us shortcutting over the
> > sched_delayed case.
...
> This patch worked correctly on my QEMU-based test platform, it seems
> our testing methods might differ. Could you please share the details
> of your testing environment and methodology? I’ll try to replicate the
> issue using the same approach.
Usually I boot qemu with 64 cores, and have found stress testing
running the following separate programs frequently uncovers issues:
#cyclictest from the rt-test suite to add some rt load
cyclictest -t -p90
# rerunning the test_ww_mtuex logic (enabled by a patch in my full
proxy-exec series)
while true; do echo 1 > /sys/kernel/test_ww_mutex/run_tests ; sleep 5; done
# Along with my prio-inversion-demo (which ensures we do the proxying paths)
# https://github.com/johnstultz-work/priority-inversion-demo
while true; do ./run.sh; sleep 10 ; done
# Sometimes I also throw in the ltp sched_football test:
# https://github.com/linux-test-project/ltp/tree/master/testcases/realtime/func/sched_football
while true; do ./sched_football -m | grep Result ; sleep 1; done
But I'm always looking for other scheduling loads to trip up bugs, so
open to suggestions.
thanks
-john
Powered by blists - more mailing lists