linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-mm@kvack.org, x86@kernel.org, akpm@linux-foundation.org,
	luto@kernel.org, bp@alien8.de, dave.hansen@linux.intel.com,
	hpa@zytor.com, juri.lelli@redhat.com, vincent.guittot@linaro.org,
	willy@infradead.org, mgorman@suse.de, jon.grimm@amd.com,
	bharata@amd.com, raghavendra.kt@amd.com,
	boris.ostrovsky@oracle.com, konrad.wilk@oracle.com,
	jgross@suse.com, andrew.cooper3@citrix.com,
	Joel Fernandes <joel@joelfernandes.org>,
	Vineeth Pillai <vineethrp@google.com>,
	Suleiman Souhlal <suleiman@google.com>,
	Ingo Molnar <mingo@kernel.org>,
	Clark Williams <clark.williams@gmail.com>,
	bigeasy@linutronix.de, daniel.wagner@suse.com,
	joseph.salisbury@oracle.com, broonie@gmail.com
Subject: Re: [RFC][PATCH 1/2] sched: Extended scheduler time slice
Date: Sat, 1 Feb 2025 15:35:13 +0100	[thread overview]
Message-ID: <e83ce086-b55f-431a-a499-f83a434b70db@efficios.com> (raw)
In-Reply-To: <20250131225942.365475324@goodmis.org>

On 2025-01-31 23:58, Steven Rostedt wrote:

[...]

> @@ -148,6 +160,18 @@ struct rseq {
>   	 */
>   	__u32 mm_cid;
>   
> +	/*
> +	 * The cr_counter is a way for user space to inform the kernel that
> +	 * it is in a critical section. If bits 1-31 are set, then the
> +	 * kernel may grant the thread a bit more time (but there is no
> +	 * guarantee of how much time or if it is granted at all). If the
> +	 * kernel does grant the thread extra time, it will set bit 0 to
> +	 * inform user space that it has granted the thread more time and that
> +	 * user space should call yield() as soon as it leaves its critical

Does it specifically need to be yield(), or can it be just "entering
the kernel" through any system call or trap ?

[...]

> diff --git a/kernel/rseq.c b/kernel/rseq.c
> index 9de6e35fe679..b792e36a3550 100644
> --- a/kernel/rseq.c
> +++ b/kernel/rseq.c
> @@ -339,6 +339,36 @@ void __rseq_handle_notify_resume(struct ksignal *ksig, struct pt_regs *regs)
>   	force_sigsegv(sig);
>   }
>   
> +bool rseq_delay_resched(void)
> +{
> +	struct task_struct *t = current;
> +	u32 flags;
> +
> +	if (!t->rseq)
> +		return false;
> +
> +	/* Make sure the cr_counter exists */
> +	if (current->rseq_len <= offsetof(struct rseq, cr_counter))
> +		return false;

It would be clearer/more precise with < offsetofend(struct rseq, cr_counter)

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com


  parent reply	other threads:[~2025-02-01 14:35 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-31 22:58 [RFC][PATCH 0/2] sched: Extended Scheduler Time Slice revisited Steven Rostedt
2025-01-31 22:58 ` [RFC][PATCH 1/2] sched: Extended scheduler time slice Steven Rostedt
2025-02-01 11:59   ` Peter Zijlstra
2025-02-01 12:47     ` Steven Rostedt
2025-02-01 18:11       ` Peter Zijlstra
2025-02-01 23:06         ` Steven Rostedt
2025-02-03  8:43           ` Peter Zijlstra
2025-02-03  8:53             ` Peter Zijlstra
2025-02-03 16:45             ` Steven Rostedt
2025-02-04  3:28               ` Suleiman Souhlal
2025-02-04  3:57                 ` Steven Rostedt
2025-02-04  9:16               ` Peter Zijlstra
2025-02-04 12:51                 ` Steven Rostedt
2025-02-04 13:16                   ` Steven Rostedt
2025-02-04 15:05                     ` Steven Rostedt
2025-02-04 15:30                   ` Peter Zijlstra
2025-02-04 16:11                     ` Steven Rostedt
2025-02-05  9:07                       ` Peter Zijlstra
2025-02-05 13:10                         ` Steven Rostedt
2025-02-05 13:44                           ` Steven Rostedt
2025-02-04 22:44         ` Prakash Sangappa
2025-02-05  0:56           ` Joel Fernandes
2025-02-05  3:04             ` Steven Rostedt
2025-02-05  5:09               ` Joel Fernandes
2025-02-05 13:16                 ` Steven Rostedt
2025-02-05 13:38                   ` Steven Rostedt
2025-02-05 21:08                   ` Prakash Sangappa
2025-02-05 21:19                     ` Steven Rostedt
2025-02-05 21:33                       ` Steven Rostedt
2025-02-05 21:36                         ` Prakash Sangappa
2025-02-06  3:07                   ` Joel Fernandes
2025-02-06 13:30                     ` Steven Rostedt
2025-02-06 13:44                       ` Sebastian Andrzej Siewior
2025-02-06 13:48                         ` Peter Zijlstra
2025-02-06 13:53                           ` Sebastian Andrzej Siewior
2025-02-06 13:57                             ` Peter Zijlstra
2025-02-06 14:20                               ` Steven Rostedt
2025-02-06 14:22                               ` Sebastian Andrzej Siewior
2025-02-06 14:27                                 ` Peter Zijlstra
2025-02-06 14:57                                   ` Steven Rostedt
2025-02-06 15:01                                   ` Sebastian Andrzej Siewior
2025-02-10 19:43                         ` Steven Rostedt
2025-02-10 22:04                           ` David Laight
2025-02-10 22:15                             ` Steven Rostedt
2025-02-11  8:21                           ` Sebastian Andrzej Siewior
2025-02-11 10:57                             ` Peter Zijlstra
2025-02-11 15:28                             ` Steven Rostedt
2025-02-12 12:11                               ` Sebastian Andrzej Siewior
2025-02-12 15:00                                 ` Steven Rostedt
2025-02-12 15:18                                   ` Sebastian Andrzej Siewior
2025-02-10 14:07                       ` Joel Fernandes
2025-02-10 19:48                         ` Steven Rostedt
2025-02-10 17:20                       ` David Laight
2025-02-10 17:27                         ` Steven Rostedt
2025-02-10 19:44                           ` Steven Rostedt
2025-02-10 21:51                             ` David Laight
2025-02-10 21:58                               ` Steven Rostedt
2025-02-01 14:35   ` Mathieu Desnoyers [this message]
2025-02-01 23:08     ` Steven Rostedt
2025-02-01 23:18       ` Linus Torvalds
2025-02-01 23:35         ` Linus Torvalds
2025-02-02  3:26           ` Steven Rostedt
2025-02-02  3:22         ` Steven Rostedt
2025-02-02  7:22           ` Matthew Wilcox
2025-02-02 22:29             ` Steven Rostedt
2025-01-31 22:58 ` [RFC][PATCH 2/2] sched: Shorten time that tasks can extend their time slice for Steven Rostedt

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=e83ce086-b55f-431a-a499-f83a434b70db@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=akpm@linux-foundation.org \
    --cc=andrew.cooper3@citrix.com \
    --cc=ankur.a.arora@oracle.com \
    --cc=bharata@amd.com \
    --cc=bigeasy@linutronix.de \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=broonie@gmail.com \
    --cc=clark.williams@gmail.com \
    --cc=daniel.wagner@suse.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=joel@joelfernandes.org \
    --cc=jon.grimm@amd.com \
    --cc=joseph.salisbury@oracle.com \
    --cc=juri.lelli@redhat.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=raghavendra.kt@amd.com \
    --cc=rostedt@goodmis.org \
    --cc=suleiman@google.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vincent.guittot@linaro.org \
    --cc=vineethrp@google.com \
    --cc=willy@infradead.org \
    --cc=x86@kernel.org \
    /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