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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 18 Jun 2018 17:36:35 -0400
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Byungchul Park <byungchul.park@....com>
Cc:     peterz@...radead.org, mingo@...nel.org, tglx@...utronix.de,
        raistlin@...ux.it, linux-kernel@...r.kernel.org,
        juri.lelli@...il.com, bristot@...hat.com, kernel-team@....com,
        joel@...lfernandes.org
Subject: Re: [RESEND PATCH v12 1/2] sched/deadline: Add support for
 SD_PREFER_SIBLING on find_later_rq()

On Mon, 18 Jun 2018 13:58:08 +0900
Byungchul Park <byungchul.park@....com> wrote:

> Hello Juri,
> 
> I've changed the code a little bit to avoid a compile warning caused by
> 'const' args of find_cpu(). Can I keep your Acked-by?
> 
> BEFORE:
> static int find_cpu(const struct cpumask *mask,
> 		    const struct sched_domain *sd,
> 		    const struct sched_domain *prefer)
> 
> AFTER:
> static int find_cpu(const struct cpumask *mask,
> 		    struct sched_domain *sd,
> 		    struct sched_domain *prefer)
> 

Instead of doing that, why not fix sched_domain_span() to take a
constant. There's no reason that function should be modifying the
sched_domain.

-- Steve

> (I temporarily removed the Acked-by you gave me.)
> Acked-by: Juri Lelli <juri.lelli@....com>
> 
> -----8<-----
> >From 5a4753e8c15369420a16fa04026f74ae5c9d377c Mon Sep 17 00:00:00 2001  
> From: Byungchul Park <byungchul.park@....com>
> Date: Mon, 4 Jun 2018 16:46:56 +0900
> Subject: [RESEND PATCH v12 1/2] sched/deadline: Add support for SD_PREFER_SIBLING on
>  find_later_rq()
> 
> It would be better to try to check other siblings first if
> SD_PREFER_SIBLING is flaged when pushing tasks - migration.
> 
> Suggested-by: Peter Zijlstra <peterz@...radead.org>
> Signed-off-by: Byungchul Park <byungchul.park@....com>
> ---
>  kernel/sched/deadline.c | 80 ++++++++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 73 insertions(+), 7 deletions(-)
> 
> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
> index 1356afd..6130d40 100644
> --- a/kernel/sched/deadline.c
> +++ b/kernel/sched/deadline.c
> @@ -1853,12 +1853,33 @@ static struct task_struct *pick_earliest_pushable_dl_task(struct rq *rq, int cpu
>  
>  static DEFINE_PER_CPU(cpumask_var_t, local_cpu_mask_dl);
>  
> +/*
> + * Find the first CPU in: mask & sd & ~prefer
> + */
> +static int find_cpu(const struct cpumask *mask,
> +		    struct sched_domain *sd,
> +		    struct sched_domain *prefer)
> +{
> +	int cpu;
> +
> +	for_each_cpu(cpu, mask) {
> +		if (!cpumask_test_cpu(cpu, sched_domain_span(sd)))
> +			continue;
> +		if (prefer && cpumask_test_cpu(cpu, sched_domain_span(prefer)))
> +			continue;
> +		break;
> +	}
> +
> +	return cpu;
> +}
> +
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ