Re: [PATCH v3 0/6] sched/deadline: cpuset: Rework DEADLINE bandwidth restoration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 08, 2023 at 09:58:48AM +0200, Juri Lelli wrote:
> Qais reported [1] that iterating over all tasks when rebuilding root
> domains for finding out which ones are DEADLINE and need their bandwidth
> correctly restored on such root domains can be a costly operation (10+
> ms delays on suspend-resume). He proposed we skip rebuilding root
> domains for certain operations, but that approach seemed arch specific
> and possibly prone to errors, as paths that ultimately trigger a rebuild
> might be quite convoluted (thanks Qais for spending time on this!).
> 
> This is v3 of an alternative approach (v2 at [4]) to fix the problem.
> 
>  01/06 - Rename functions deadline with DEADLINE accounting (cleanup
>          suggested by Qais) - no functional change
>  02/06 - Bring back cpuset_mutex (so that we have write access to cpusets
>          from scheduler operations - and we also fix some problems
>          associated to percpu_cpuset_rwsem)
>  03/06 - Keep track of the number of DEADLINE tasks belonging to each cpuset
>  04/06 - Use this information to only perform the costly iteration if
>          DEADLINE tasks are actually present in the cpuset for which a
>          corresponding root domain is being rebuilt
>  05/06 - Create DL BW alloc, free & check overflow interface for bulk
>          bandwidth allocation/removal - no functional change 
>  06/06 - Fix bandwidth allocation handling for cgroup operation
>          involving multiple tasks
> 
> With respect to the v2 posting [4]
> 
>  1 - rebase on top of Linus' tree as of today (ac9a78681b92)
>  2 - add the 'why' to 5/6 changelog - Peter
>  3 - explicitly say that we need to keep cpuset_mutex a mutex for PI on
>      2/6 - Peter
> 
> This set is also available from
> 
> https://github.com/jlelli/linux.git deadline/rework-cpusets

Applied to cgroup/for-6.5.

Thanks.

-- 
tejun



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux