[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250211102801.5b32d610@gandalf.local.home>
Date: Tue, 11 Feb 2025 10:28:01 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Joel Fernandes <joel@...lfernandes.org>, Prakash Sangappa
<prakash.sangappa@...cle.com>, Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org, Thomas
Gleixner <tglx@...utronix.de>, Ankur Arora <ankur.a.arora@...cle.com>,
Linus Torvalds <torvalds@...ux-foundation.org>, linux-mm@...ck.org,
x86@...nel.org, Andrew Morton <akpm@...ux-foundation.org>, luto@...nel.org,
bp@...en8.de, dave.hansen@...ux.intel.com, hpa@...or.com,
juri.lelli@...hat.com, vincent.guittot@...aro.org, willy@...radead.org,
mgorman@...e.de, jon.grimm@....com, bharata@....com,
raghavendra.kt@....com, Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Konrad Wilk <konrad.wilk@...cle.com>, jgross@...e.com,
Andrew.Cooper3@...rix.com, Vineeth Pillai <vineethrp@...gle.com>, Suleiman
Souhlal <suleiman@...gle.com>, Ingo Molnar <mingo@...nel.org>, Mathieu
Desnoyers <mathieu.desnoyers@...icios.com>, Clark Williams
<clark.williams@...il.com>, daniel.wagner@...e.com, Joseph Salisbury
<joseph.salisbury@...cle.com>, broonie@...il.com
Subject: Re: [RFC][PATCH 1/2] sched: Extended scheduler time slice
On Tue, 11 Feb 2025 09:21:38 +0100
Sebastian Andrzej Siewior <bigeasy@...utronix.de> wrote:
> We don't follow this behaviour exactly today.
>
> Adding this behaviour back vs the behaviour we have now, doesn't seem to
> improve anything at visible levels. We don't have a counter but we can
> look at the RCU nesting counter which should be zero once locks have
> been dropped. So this can be used for testing.
>
> But as I said: using "run to completion" and preempt on the return
> userland rather than once the lazy flag is seen and all locks have been
> released appears to be better.
>
> It is (now) possible that you run for a long time and get preempted
> while holding a spinlock_t. It is however more likely that you release
> all locks and get preempted while returning to userland.
IIUC, today, LAZY causes all SCHED_OTHER tasks to act more like
PREEMPT_NONE. Is that correct?
Now that the PREEMPT_RT is not one of the preemption selections, when you
select PREEMPT_RT, you can pick between CONFIG_PREEMPT and
CONFIG_PREEMPT_LAZY. Where CONFIG_PREEMPT will preempt the kernel at the
scheduler tick if preemption is enabled and CONFIG_PREEMPT_LAZY will
not preempt the kernel on a scheduler tick and wait for exit to user space.
Sebastian,
It appears you only tested the CONFIG_PREEMPT_LAZY selection. Have you
tested the difference of how CONFIG_PREEMPT behaves between PREEMPT_RT and
no PREEMPT_RT? I think that will show a difference like we had in the past.
I can see people picking both PREEMPT_RT and CONFIG_PREEMPT (Full), but
then wondering why their non RT tasks are suffering from a performance
penalty from that.
-- Steve
Powered by blists - more mailing lists