public inbox for cgroups@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Juri Lelli <juri.lelli@redhat.com>
Cc: tj@kernel.org, linux-kernel@vger.kernel.org, mingo@kernel.org,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de,
	vschneid@redhat.com, longman@redhat.com, hannes@cmpxchg.org,
	mkoutny@suse.com, void@manifault.com, arighi@nvidia.com,
	changwoo@igalia.com, cgroups@vger.kernel.org,
	sched-ext@lists.linux.dev, liuwenfang@honor.com,
	tglx@linutronix.de,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 10/12] sched: Add locking comments to sched_class methods
Date: Wed, 8 Oct 2025 09:04:19 +0200	[thread overview]
Message-ID: <20251008070419.GR4067720@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <aOTjSla1Yr3kz7op@jlelli-thinkpadt14gen4.remote.csb>

On Tue, Oct 07, 2025 at 11:54:18AM +0200, Juri Lelli wrote:

> Not for this patch, but I wondered if, while we are at it, we wanted to
> complete documentation of these flags. My new AI friend is suggesting
> the following, is it very much garbage? :)

Heh; its not terrible. I've been playing with local LLMs, but mostly
I've found they struggle with getting enough context to not be utterly
demented. And when you up the context window, they get unusable slow :/

Setting up and configuring the whole pile of subtly interlocking stacks
of software to get anything useful out of this stuff is non-trivial (it
reminds me of the sendmail m4 days).

> ---
> 
> From: Claude <claude-sonnet-4-5@anthropic.com>
> Date: Mon, 7 Oct 2025 12:44:13 +0200
> Subject: sched: Document remaining DEQUEUE/ENQUEUE flags
> 
> Complete the flag documentation by adding descriptions for the three
> previously undocumented flags: DEQUEUE_SPECIAL, DEQUEUE_THROTTLE, and
> ENQUEUE_INITIAL.
> 
> DEQUEUE_SPECIAL is used when dequeuing tasks in special states (stopped,
> traced, parked, dead, or frozen) that don't use the normal wait-loop
> pattern and must not use delayed dequeue.
> 
> DEQUEUE_THROTTLE is used when removing tasks from the runqueue due to
> CFS bandwidth throttling, preventing delayed dequeue to ensure proper
> throttling behavior.
> 
> ENQUEUE_INITIAL is used when enqueueing newly created tasks in
> wake_up_new_task(), allowing the fair scheduler to give them preferential
> initial placement (half vslice when PLACE_DEADLINE_INITIAL is enabled).
> 
> Signed-off-by: Claude <claude-sonnet-4-5@anthropic.com>
> Not-so-sure-yet: Juri Lelli <juri.lelli@redhat.com>

Is this the generally acceptable form of attribution for these things?
I'm not sure what the official guidance is on using these AI tools.

Greg, you have any insights here?

> ---
>  kernel/sched/sched.h | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index 4c222fa8f908..1a2b3c8d9e4f 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -2364,10 +2364,20 @@ extern const u32		sched_prio_to_wmult[40];
>   * CLASS - going to update p->sched_class; makes sched_change call the
>   *         various switch methods.
>   *
> + * DEQUEUE_SPECIAL - task is in a special state (STOPPED, TRACED, PARKED,
> + *                   DEAD, FROZEN) that doesn't use the normal wait-loop;
> + *                   disables delayed dequeue.
> + *
> + * DEQUEUE_THROTTLE - dequeuing due to CFS bandwidth throttling; disables
> + *                    delayed dequeue to ensure proper throttling.
> + *
>   * ENQUEUE_HEAD      - place at front of runqueue (tail if not specified)
>   * ENQUEUE_REPLENISH - CBS (replenish runtime and postpone deadline)
>   * ENQUEUE_MIGRATED  - the task was migrated during wakeup
> + * ENQUEUE_INITIAL   - enqueuing a newly created task in wake_up_new_task();
> + *                     fair scheduler may give preferential initial placement
> + *                     (e.g., half vslice with PLACE_DEADLINE_INITIAL).
>   * ENQUEUE_RQ_SELECTED - ->select_task_rq() was called
>   *
>   */
> 

  reply	other threads:[~2025-10-08  7:04 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-06 10:44 [PATCH 00/12] sched: Cleanup the change-pattern and related locking Peter Zijlstra
2025-10-06 10:44 ` [PATCH 01/12] sched: Employ sched_change guards Peter Zijlstra
2025-10-07  8:20   ` Andrea Righi
2025-10-08  6:51     ` Peter Zijlstra
2025-10-08  6:58       ` Andrea Righi
2025-10-07 16:58   ` Valentin Schneider
2025-10-08 14:02     ` Peter Zijlstra
2025-10-06 10:44 ` [PATCH 02/12] sched: Re-arrange the {EN,DE}QUEUE flags Peter Zijlstra
2025-10-06 10:44 ` [PATCH 03/12] sched: Fold sched_class::switch{ing,ed}_{to,from}() into the change pattern Peter Zijlstra
2025-10-09 13:30   ` Dietmar Eggemann
2025-10-09 13:54     ` Peter Zijlstra
2025-10-09 14:09       ` Peter Zijlstra
2025-10-09 16:50         ` Dietmar Eggemann
2025-10-13 10:23           ` Peter Zijlstra
2025-10-06 10:44 ` [PATCH 04/12] sched: Cleanup sched_delayed handling for class switches Peter Zijlstra
2025-10-07 15:22   ` Vincent Guittot
2025-10-06 10:44 ` [PATCH 05/12] sched: Move sched_class::prio_changed() into the change pattern Peter Zijlstra
2026-01-12 20:44   ` Pierre Gondois
2026-01-13  4:12     ` K Prateek Nayak
2026-01-13 10:45       ` Pierre Gondois
2026-01-13 11:05         ` K Prateek Nayak
2026-01-13 11:53           ` Peter Zijlstra
2026-01-13 11:56             ` Peter Zijlstra
2026-01-13 13:07               ` Pierre Gondois
2026-01-13 13:10               ` Pierre Gondois
2026-01-13 11:47         ` Peter Zijlstra
2026-01-14  6:47           ` K Prateek Nayak
2026-01-14 10:23             ` Peter Zijlstra
2026-01-14 13:05               ` Peter Zijlstra
2026-01-14 14:04                 ` luca abeni
2026-01-14 14:20                 ` Juri Lelli
2026-01-14 15:25                   ` luca abeni
2026-01-15  8:24                   ` Peter Zijlstra
2026-01-15  9:05                     ` Peter Zijlstra
2026-01-15 13:13                       ` Pierre Gondois
2026-01-15 13:56                         ` Juri Lelli
2025-10-06 10:44 ` [PATCH 06/12] sched: Fix migrate_disable_switch() locking Peter Zijlstra
2025-10-06 10:44 ` [PATCH 07/12] sched: Fix do_set_cpus_allowed() locking Peter Zijlstra
2025-10-24 14:58   ` [REGRESSION] Deadlock during CPU hotplug caused by abfc01077df6 Jan Polensky
2025-10-06 10:44 ` [PATCH 08/12] sched: Rename do_set_cpus_allowed() Peter Zijlstra
2025-10-06 10:44 ` [PATCH 09/12] sched: Make __do_set_cpus_allowed() use the sched_change pattern Peter Zijlstra
2025-10-06 10:44 ` [PATCH 10/12] sched: Add locking comments to sched_class methods Peter Zijlstra
2025-10-07  9:54   ` Juri Lelli
2025-10-08  7:04     ` Peter Zijlstra [this message]
2025-10-08  7:33       ` Greg Kroah-Hartman
2025-10-08  9:43         ` Juri Lelli
2025-10-08 10:06           ` Greg Kroah-Hartman
2025-10-08 14:34             ` Steven Rostedt
2025-10-06 10:44 ` [PATCH 11/12] sched: Match __task_rq_{,un}lock() Peter Zijlstra
2025-10-07 20:44   ` Tejun Heo
2025-10-06 10:44 ` [PATCH 12/12] sched: Cleanup the sched_change NOCLOCK usage Peter Zijlstra
2025-10-07  8:25 ` [PATCH 00/12] sched: Cleanup the change-pattern and related locking Andrea Righi
2025-10-07  9:55 ` Juri Lelli
2025-10-07 15:23 ` Vincent Guittot
2025-10-07 20:46 ` Tejun Heo
2025-10-08 13:54 ` Valentin Schneider

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=20251008070419.GR4067720@noisy.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=arighi@nvidia.com \
    --cc=bsegall@google.com \
    --cc=cgroups@vger.kernel.org \
    --cc=changwoo@igalia.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuwenfang@honor.com \
    --cc=longman@redhat.com \
    --cc=mgorman@suse.de \
    --cc=mingo@kernel.org \
    --cc=mkoutny@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=sched-ext@lists.linux.dev \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=void@manifault.com \
    --cc=vschneid@redhat.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