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: <53DBF08C.3020703@codeaurora.org>
Date:	Fri, 01 Aug 2014 12:54:52 -0700
From:	Stephen Boyd <sboyd@...eaurora.org>
To:	Prarit Bhargava <prarit@...hat.com>
CC:	Saravana Kannan <skannan@...eaurora.org>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>,
	linux-kernel@...r.kernel.org,
	Viresh Kumar <viresh.kumar@...aro.org>,
	Lenny Szubowicz <lszubowi@...hat.com>, linux-pm@...r.kernel.org
Subject: Re: [PATCH] cpufreq, store_scaling_governor requires policy->rwsem
 to be held for duration of changing governors [v2]

On 08/01/14 12:43, Prarit Bhargava wrote:
>
> On 08/01/2014 03:36 PM, Stephen Boyd wrote:
>> On 08/01/14 12:15, Prarit Bhargava wrote:
>>> On 08/01/2014 01:18 PM, Stephen Boyd wrote:
>>>> On 08/01/14 03:27, Prarit Bhargava wrote:
>>>>> Can you send me the test and the trace of the deadlock?  I'm not creating it with:
>>>>>
>>>> This was with conservative as the default, and switching to ondemand
>>>>
>>>> # cd /sys/devices/system/cpu/cpu2/cpufreq
>>>> # ls
>>>> affected_cpus                  scaling_available_governors
>>>> conservative                   scaling_cur_freq
>>>> cpuinfo_cur_freq               scaling_driver
>>>> cpuinfo_max_freq               scaling_governor
>>>> cpuinfo_min_freq               scaling_max_freq
>>>> cpuinfo_transition_latency     scaling_min_freq
>>>> related_cpus                   scaling_setspeed
>>>> scaling_available_frequencies  stats
>>>> # cat conservative/down_threshold
>>>> 20
>>>> # echo ondemand > scaling_governor
>>> Thanks Stephen,
>>>
>>> There's obviously a difference in our .configs.  I have a global conservative
>>> directory, ie) /sys/devices/system/cpu/cpufreq/conservative instead of a per-cpu
>>> governor file.
>>>
>>> ie) what are your .config options for CPUFREQ?
>>>
>>> Mine are:
>>>
>>> #
>>> # CPU Frequency scaling
>>> #
>>> CONFIG_CPU_FREQ=y
>>> CONFIG_CPU_FREQ_GOV_COMMON=y
>>> CONFIG_CPU_FREQ_STAT=m
>>> CONFIG_CPU_FREQ_STAT_DETAILS=y
>>> # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
>>> # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
>>> # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
>>> CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
>>> CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
>>> CONFIG_CPU_FREQ_GOV_POWERSAVE=y
>>> CONFIG_CPU_FREQ_GOV_USERSPACE=y
>>> CONFIG_CPU_FREQ_GOV_ONDEMAND=y
>>> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
>>>
>>> Is there some other config option I have to set?
>> I have the same options. The difference is that my driver has a governor
>> per policy. That's set with the CPUFREQ_HAVE_GOVERNOR_PER_POLICY flag.
>> If I remove that flag I can't trigger the lockdep splat anymore with
>> this sequence and your patch.
> I see -- so you're seeing this on arm then?  If so, let me know so I can reserve
> one to work on :)
>

I only have ARM to test on. You can set this flag in your cpufreq driver
if you have independently scaling CPU frequencies, so it isn't
necessarily an ARM thing.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ