lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <3ae07476-27b5-4d59-90ff-cb0bd70a491c@os.amperecomputing.com>
Date: Fri, 14 Mar 2025 10:53:40 +0800
From: Adam Li <adamli@...amperecomputing.com>
To: Madadi Vineeth Reddy <vineethr@...ux.ibm.com>
Cc: peterz@...radead.org, mingo@...hat.com, juri.lelli@...hat.com,
 vincent.guittot@...aro.org, dietmar.eggemann@....com, rostedt@...dmis.org,
 bsegall@...gle.com, mgorman@...e.de, vschneid@...hat.com,
 linux-kernel@...r.kernel.org, patches@...erecomputing.com, cl@...ux.com,
 christian.loehle@....com
Subject: Re: [PATCH v2 3/3] sched/fair: Update comments regarding last and
 skip buddy

Reviewed-by: Adam Li <adamli@...amperecomputing.com>

Thanks,
-adam
On 3/13/2025 4:30 PM, Madadi Vineeth Reddy wrote:
> Hi Adam,
> 
> On 27/11/24 11:26, Adam Li wrote:
>> Commit 5e963f2bd465 ("sched/fair: Commit to EEVDF") removed the "last"
>> and "skip" buddy. Update comments in pick_next_entity().
>>
>> Signed-off-by: Adam Li <adamli@...amperecomputing.com>
>> Reviewed-by: Madadi Vineeth Reddy <vineethr@...ux.ibm.com>
>> ---
>>  kernel/sched/fair.c | 8 +-------
>>  1 file changed, 1 insertion(+), 7 deletions(-)
>>
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index d5a3b5589e4e..259c56dcdff6 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -5602,17 +5602,11 @@ set_next_entity(struct cfs_rq *cfs_rq, struct sched_entity *se)
>>  
>>  static int dequeue_entities(struct rq *rq, struct sched_entity *se, int flags);
>>  
>> -/*
>> - * Pick the next process, keeping these things in mind, in this order:
>> - * 1) keep things fair between processes/task groups
>> - * 2) pick the "next" process, since someone really wants that to run
>> - * 3) pick the "last" process, for cache locality
>> - * 4) do not run the "skip" process, if something else is available
>> - */
>>  static struct sched_entity *
>>  pick_next_entity(struct rq *rq, struct cfs_rq *cfs_rq)
>>  {
>>  	/*
>> +	 * Pick the "next" buddy, since someone really wants that to run.
>>  	 * Enabling NEXT_BUDDY will affect latency but not fairness.
>>  	 */
>>  	if (sched_feat(NEXT_BUDDY) &&
> 
> There is one more reference to LAST_BUDDY in check_preempt_wakeup_fair.
> 
> Regarding pick_next_entity, the first two points are still valid, so only
> points 3 and 4 could be removed?
> 
> Something like below
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 9dafb374d76d..379dbcbb24e9 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5578,8 +5578,6 @@ static int dequeue_entities(struct rq *rq, struct sched_entity *se, int flags);
>   * Pick the next process, keeping these things in mind, in this order:
>   * 1) keep things fair between processes/task groups
>   * 2) pick the "next" process, since someone really wants that to run
> - * 3) pick the "last" process, for cache locality
> - * 4) do not run the "skip" process, if something else is available
>   */
>  static struct sched_entity *
>  pick_next_entity(struct rq *rq, struct cfs_rq *cfs_rq)
> @@ -8780,9 +8778,7 @@ static void check_preempt_wakeup_fair(struct rq *rq, struct task_struct *p, int
>          *
>          * Note: this also catches the edge-case of curr being in a throttled
>          * group (e.g. via set_curr_task), since update_curr() (in the
> -        * enqueue of curr) will have resulted in resched being set.  This
> -        * prevents us from potentially nominating it as a false LAST_BUDDY
> -        * below.
> +        * enqueue of curr) will have resulted in resched being set.
>          */
>         if (test_tsk_need_resched(rq->curr))
>                 return;
> 
> Thanks,
> Madadi Vineeth Reddy


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ