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]
Message-ID: <20160530045348.GA26787@vireshk-i7>
Date:	Mon, 30 May 2016 10:23:48 +0530
From:	Viresh Kumar <viresh.kumar@...aro.org>
To:	"Rafael J. Wysocki" <rjw@...ysocki.net>
Cc:	Linux PM list <linux-pm@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
Subject: Re: [PATCH] cpufreq: stats: Make the stats code non-modular

On 28-05-16, 15:15, Rafael J. Wysocki wrote:
> It does, but there's a problem.
> 
> If fast frequency switching is in use, the stats attributes just sit there
> full of zeros (because the stats are not updated then) which is confusing.
> 
> Of course, the ultimate solution here would be to make the stats actually
> work with fast frequency switching, but that requires some major surgery of
> the stats code, so for now I'd like to simply make those attributes return
> nothing if fast frequency switching is enabled for the policy (returning
> -EBUSY from there, which would have been cleaner, unfortunately breaks
> powertop).

What's stopping us from doing that? Sorry I don't remember that well :(

I mean, why can't we call cpufreq_stats_record_transition() somehow via that
code ?

> Updated patch is below.
> 
> ---
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> Subject: [PATCH] cpufreq: stats: Make the stats code non-modular
> 
> The modularity of cpufreq_stats is quite problematic.
> 
> First off, the usage of policy notifiers for the initialization
> and cleanup in the cpufreq_stats module is inherently racy with
> respect to CPU offline/online and the initialization and cleanup
> of the cpufreq driver.
> 
> Second, fast frequency switching (used by the schedutil governor)
> cannot be enabled if any transition notifiers are registered, so
> if the cpufreq_stats module (that registers a transition notifier
> for updating transition statistics) is loaded, the schedutil governor
> cannot use fast frequency switching.
> 
> On the other hand, allowing cpufreq_stats to be built as a module
> doesn't really add much value.  Arguably, there's not much reason
> for that code to be modular at all.
> 
> For the above reasons, make the cpufreq stats code non-modular,
> modify the core to invoke functions provided by that code directly
> and drop the notifiers from it.
> 
> Make the stats sysfs attributes appear empty if fast frequency
> switching is enabled as the statistics will not be updated in that
> case anyway (and returning -EBUSY from those attributes breaks
> powertop).
> 
> While at it, clean up Kconfig help for the CPU_FREQ_STAT and
> CPU_FREQ_STAT_DETAILS options.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> ---
>  drivers/cpufreq/Kconfig         |   13 +--
>  drivers/cpufreq/cpufreq.c       |    4 +
>  drivers/cpufreq/cpufreq_stats.c |  152 +++++-----------------------------------
>  include/linux/cpufreq.h         |   12 +++
>  4 files changed, 40 insertions(+), 141 deletions(-)

Acked-by: Viresh Kumar <viresh.kumar@...aro.org>

-- 
viresh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ