Re: [PATCH v4 0/5] Defer throttle when task exits to user

From: Bezdeka, Florian
Date: Tue Dec 02 2025 - 03:59:34 EST


On Fri, 2025-08-29 at 16:11 +0800, Aaron Lu wrote:
> v4:
> - Add cfs_bandwidth_used() in task_is_throttled() and remove unlikely
> for task_is_throttled(), suggested by Valetin Schneider;
> - Add a warn for non empty throttle_node in enqueue_throttled_task(),
> suggested by Valetin Schneider;
> - Improve comments in enqueue_throttled_task() by Valetin Schneider;
> - Clear throttled for to-be-unthrottled tasks in tg_unthrottle_up();
> - Change throttled and pelt_clock_throttled fields in cfs_rq from int to
> bool, reported by LKP;
> - Improve changelog for patch4 by Valetin Schneider.
>
> Thanks a lot for all the reviews and tests, I hope I didn't miss any of
> them but if I do, please let me know. I've also run Jan's rt reproducer
> and songtang's stress test and didn't notice any problem.
>
> Apply on top of sched/core, head commit 1b5f1454091e("sched/idle: Remove
> play_idle()").
>

Hi all,

as this all has arrived in 6.18 now - thanks for all the work - I would
like to start a discussion about backporting this series - and some more
related work, see below - to older stable releases. Especially
PREEMPT_RT enabled systems are of interest as this series fixes a
serious system freeze.

Has someone already looked into the backporting topic?

I can remember from the previous discussion that everything below 6.12
is hard, as scheduler internals have changed (EEVDF, vlag). Still, 6.12
would be valuable.

I have the following commits on my radar:

This series:

2cd571245b43 ("sched/fair: Add related data structure for task based throttle")
7fc2d1439247 ("sched/fair: Implement throttle task work and related helpers")
e1fad12dcb66 ("sched/fair: Switch to task based throttle model")
eb962f251fbb ("sched/fair: Task based throttle time accounting")
5b726e9bf954 ("sched/fair: Get rid of throttled_lb_pair()")

Follow up series:
https://lore.kernel.org/all/20250910095044.278-1-ziqianlu@xxxxxxxxxxxxx/

fe8d238e646e ("sched/fair: Propagate load for throttled cfs_rq")
fcd394866e3d ("sched/fair: update_cfs_group() for throttled cfs_rqs")
253b3f587241 ("sched/fair: Do not special case tasks in throttled hierarchy")
0d4eaf8caf8c ("sched/fair: Do not balance task to a throttled cfs_rq")

Another follow up:
https://lore.kernel.org/all/20250929074645.416-1-ziqianlu@xxxxxxxxxxxxx/

956dfda6a708 ("sched/fair: Prevent cfs_rq from being unthrottled with zero runtime_remaining")


That should hopefully be enough, right?

Any concerns, additional thoughts, missing peaces? Please let me know!

Best regards,
Florian

--
Siemens AG, Foundational Technologies
Linux Expert Center