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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180216154101.GE28799@e105550-lin.cambridge.arm.com>
Date:   Fri, 16 Feb 2018 15:41:01 +0000
From:   Morten Rasmussen <morten.rasmussen@...s.arm.com>
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     Morten Rasmussen <morten.rasmussen@....com>, mingo@...hat.com,
        valentin.schneider@....com, dietmar.eggemann@....com,
        vincent.guittot@...aro.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/7] sched: Add static_key for asymmetric cpu capacity
 optimizations

On Fri, Feb 16, 2018 at 02:47:04PM +0100, Peter Zijlstra wrote:
> On Thu, Feb 15, 2018 at 04:20:48PM +0000, Morten Rasmussen wrote:
> > +static void update_asym_cpucapacity(int cpu)
> > +{
> > +	if (!static_branch_unlikely(&sched_asym_cpucapacity) &&
> > +	    lowest_flag_domain(cpu, SD_ASYM_CPUCAPACITY))
> > +		static_branch_enable(&sched_asym_cpucapacity);
> > +}
> 
> That looks odd, why not just:
> 
> 	if (lowest_flag_domain(cpu, SD_ASYM_CPUCAPACITY))
> 		static_branch_enable(&sched_asym_cpucapacity);

I actually had that initially and then I misread the implementation of
static_key_enable() as if it trigger the WARN_ON_ONCE() condition if I
enable an already enabled static key. But I see now that it should be
safe to do. 

> ? possibly with:
> 
> 	else
> 		static_branch_disable(&sched_asym_cpucapacity);
> 
> if you want to play funny games :-)

I thought about that too. It could make certain hotplug scenarios even
more expensive. I think we want the sched_asym_cpucapacity code to behave
even if SD_ASYM_CPUCAPACITY isn't set anywhere, so the static key would
be permanently from the point we detect asymmetry and leave it set. This
would be in line with how the smt static key works.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ