public inbox for cpufreq@vger.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: cpufreq@vger.kernel.org
Subject: [Bug 55411] sysfs per-cpu cpufreq subdirs/symlinks screwed up after s2ram
Date: Fri, 22 Mar 2013 12:10:00 +0000 (UTC)	[thread overview]
Message-ID: <20130322121000.C818E11FB81@bugzilla.kernel.org> (raw)
In-Reply-To: <bug-55411-12968@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=55411





--- Comment #14 from Rafael J. Wysocki <rjw@sisk.pl>  2013-03-22 12:10:00 ---
[Adding Boris and Thomas to the CC.]

On Tuesday, March 19, 2013 02:20:06 PM Viresh Kumar wrote:
> Hi Guys,
> 
> We are talking here about a bug reported by Duncan here. His cpu/cpu*/cpufreq
> directory are getting corrupted with 3.9-rc3 and was working well with 3.8
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=55411
> 
> On his AMD bulldozer tri-cluster/6-core system he doesn't see affected
> and related
> cpus set correctly after off-lining 1-5 and bringing them back with:
> 
> for i in 1 2 3 4 5; do echo 0 > /sys/devices/system/cpu/cpu$i/online ; done
> for i in 1 2 3 4 5; do echo 1 > /sys/devices/system/cpu/cpu$i/online ; done
> 
> Before running above two, cpufreq-info gave:
> https://bugzilla.kernel.org/attachment.cgi?id=95701
> 
> And after running above it gave:
> https://bugzilla.kernel.org/attachment.cgi?id=95711
> 
> Clearly it got corrupted. Somehow cpu 3 showed up in related cpus field of
> cpu 5.
> 
> I suspect following patches behind this:
> 
> commit fcf8058296edbc3de43adf095824fc32b067b9f8
> Author: Viresh Kumar <viresh.kumar@linaro.org>
> Date:   Tue Jan 29 14:39:08 2013 +0000
> 
>     cpufreq: Simplify cpufreq_add_dev()
> 
>     Currently cpufreq_add_dev() firsts allocates policy, calls
>     driver->init() and then checks if this CPU is already managed or not.
>     And if it is already managed, its policy is freed.
> 
>     We can save all this if we somehow know that CPU is managed or not in
>     advance.  policy->related_cpus contains the list of all valid sibling
>     CPUs of policy->cpu. We can check this to see if the current CPU is
>     already managed.
> 
>     From now on, platforms don't really need to set related_cpus from
>     their init() routines, as the same work is done by core too.
> 
>     If a platform driver needs to set the related_cpus mask with some
>     additional CPUs, other than CPUs present in policy->cpus, they are
>     free to do it, though, as we don't override anything.
> 
>     [rjw: Changelog]
>     Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>     Tested-by: Shawn Guo <shawn.guo@linaro.org>
>     Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> 
> AND
> 
> commit 643ae6e81dd65b333a13259852405fc9f764ac76
> Author: Viresh Kumar <viresh.kumar@linaro.org>
> Date:   Sat Jan 12 05:14:38 2013 +0000
> 
>     cpufreq: Manage only online cpus
> 
>     cpufreq core doesn't manage offline cpus and if driver->init() has returned
>     mask including offline cpus, it may result in unwanted behavior by
> cpufreq core
>     or governors.
> 
>     We need to get only online cpus in this mask. There are two places
> to fix this
>     mask, cpufreq core and cpufreq driver. It makes sense to do this
> at common place
>     and hence is done in core.
> 
>     Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>     Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> 
> And this is the latest piece of documentation available:
> 
> SMP systems normally have same clock source for a group of cpus. For these the
> .init() would be called only once for the first online cpu. Here the .init()
> routine must initialize policy->cpus with mask of all possible cpus (Online +
> Offline) that share the clock. Then the core would copy this mask onto
> policy->related_cpus and will reset policy->cpus to carry only online cpus.
> 
> 
> I saw acpi-cpufreq drivers driver->init() code and found it is not yet
> aligned to this
> theory and probably that is causing these failures.
> 
> I don't have enough knowledge about this driver and how is it used for all x86
> systems and so want somebody else (who has some prior experience with it)
> to check how policy->cpus and policy->related_cpus must be set from
> driver->init().

OK, so what exactly do you need to now?

This has to be addressed before final 3.9 this way or another - and the sooner
the better.

Thanks,
Rafael

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

  parent reply	other threads:[~2013-03-22 12:10 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-18  9:13 [Bug 55411] New: sysfs per-cpu cpufreq subdirs/symlinks screwed up after s2ram bugzilla-daemon
2013-03-18  9:21 ` [Bug 55411] " bugzilla-daemon
2013-03-18  9:26 ` bugzilla-daemon
2013-03-18  9:27 ` bugzilla-daemon
2013-03-18  9:38 ` bugzilla-daemon
2013-03-18  9:39 ` bugzilla-daemon
2013-03-18  9:56 ` bugzilla-daemon
2013-03-18 10:40 ` bugzilla-daemon
2013-03-18 11:53 ` bugzilla-daemon
2013-03-18 12:14 ` bugzilla-daemon
2013-03-19  6:16 ` bugzilla-daemon
2013-03-19  7:49 ` bugzilla-daemon
2013-03-19  7:57 ` bugzilla-daemon
2013-03-19  8:23 ` bugzilla-daemon
2013-03-19  8:27 ` bugzilla-daemon
2013-03-19  8:50 ` bugzilla-daemon
2013-03-22 12:10 ` bugzilla-daemon [this message]
2013-03-22 12:15 ` bugzilla-daemon
2013-03-22 12:53 ` bugzilla-daemon
2013-03-22 13:05 ` bugzilla-daemon
2013-03-22 13:21 ` bugzilla-daemon
2013-03-22 13:43 ` bugzilla-daemon
2013-03-22 14:03   ` Rafael J. Wysocki
2013-03-22 14:06     ` Viresh Kumar
2013-03-22 13:54 ` bugzilla-daemon
2013-03-22 13:56 ` bugzilla-daemon
2013-03-22 14:04 ` bugzilla-daemon
2013-03-22 14:05 ` bugzilla-daemon
2013-03-22 14:06 ` bugzilla-daemon
2013-03-22 14:10 ` bugzilla-daemon
2013-03-22 14:11 ` bugzilla-daemon
2013-03-22 14:13 ` bugzilla-daemon
2013-03-23 18:35 ` bugzilla-daemon
2013-03-24  9:05 ` bugzilla-daemon
2013-03-24  9:10 ` bugzilla-daemon
2013-03-24  9:48 ` bugzilla-daemon
2013-03-24 10:02 ` bugzilla-daemon
2013-03-24 10:31 ` bugzilla-daemon
2013-03-24 11:49 ` bugzilla-daemon
2013-03-24 12:16 ` bugzilla-daemon
2013-03-24 12:23 ` bugzilla-daemon
2013-03-25 11:15 ` bugzilla-daemon
2013-03-25 11:23 ` bugzilla-daemon
2013-03-25 13:55 ` bugzilla-daemon
2013-03-29 14:14 ` bugzilla-daemon
2013-04-13 17:45 ` bugzilla-daemon
     [not found] <bug-55411-70601@https.bugzilla.kernel.org/>
     [not found] ` <20130319074953.C200811FB80@bugzilla.kernel.org>
2013-03-19  8:50   ` Viresh Kumar
2013-03-22 12:17     ` Rafael J. Wysocki
2013-03-22 12:15       ` Viresh Kumar
2013-03-22 13:12         ` Rafael J. Wysocki
2013-03-22 13:21           ` Borislav Petkov
2013-03-22 12:53       ` Thomas Renninger
2013-03-22 13:43         ` Viresh Kumar
2013-03-22 13:54           ` Borislav Petkov
2013-03-22 14:05             ` Viresh Kumar
2013-03-22 14:11               ` Borislav Petkov
2013-03-22 14:04           ` Thomas Renninger
2013-03-22 14:10             ` Viresh Kumar
2013-03-22 14:13               ` Borislav Petkov
2013-03-24  9:05             ` Thomas Renninger
2013-03-24  9:10               ` Viresh Kumar
2013-03-24 10:02                 ` Viresh Kumar
2013-03-24 11:49                   ` Duncan
2013-03-24 12:16                     ` Viresh Kumar
2013-03-24 12:23                       ` Viresh Kumar
2013-03-25 11:15                         ` Duncan
2013-03-25 11:23                           ` Viresh Kumar
2013-03-25 13:55                             ` Borislav Petkov
2013-03-29 14:14                             ` Viresh Kumar
2013-03-24 10:31                 ` Borislav Petkov
2013-03-23 18:35     ` Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130322121000.C818E11FB81@bugzilla.kernel.org \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=cpufreq@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox