[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241114101455.GL6497@noisy.programming.kicks-ass.net>
Date: Thu, 14 Nov 2024 11:14:55 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: Prakash Sangappa <prakash.sangappa@...cle.com>,
linux-kernel@...r.kernel.org, rostedt@...dmis.org,
tglx@...utronix.de, daniel.m.jordan@...cle.com
Subject: Re: [RFC PATCH 0/4] Scheduler time slice extension
On Wed, Nov 13, 2024 at 02:36:58PM -0500, Mathieu Desnoyers wrote:
> On 2024-11-13 13:50, Peter Zijlstra wrote:
> > On Wed, Nov 13, 2024 at 12:01:22AM +0000, Prakash Sangappa wrote:
> >
> > > This patch set implements the above mentioned 50us extension time as posted
> > > by Peter. But instead of using restartable sequences as API to set the flag
> > > to request the extension, this patch proposes a new API with use of a per
> > > thread shared structure implementation described below. This shared structure
> > > is accessible in both users pace and kernel. The user thread will set the
> > > flag in this shared structure to request execution time extension.
> >
> > But why -- we already have rseq, glibc uses it by default. Why add yet
> > another thing?
>
> Indeed, what I'm not seeing in this RFC patch series cover letter is an
> explanation that justifies adding yet another per-thread memory area
> shared between kernel and userspace when we have extensible rseq
> already.
>
> Peter, was there anything fundamentally wrong with your approach based
> on rseq ? https://lore.kernel.org/lkml/20231030132949.GA38123@noisy.programming.kicks-ass.net
Not that I can remember, but it's a long time ago :-)
> The main thing I wonder is whether loading the rseq delay resched flag
> on return to userspace is too late in your patch.
Too late how? It only loads it at the point we would've called
schedule() -- no point in looking at it otherwise, right?
> Also, I'm not sure it is
> realistic to require that no system calls should be done within time extension
> slice. If we have this scenario:
Well, the whole premise is that syscalls are too expensive. If they are
not, then you shouldn't be using this in the first place.
Powered by blists - more mailing lists