[Bug 77201] CPU online hangs, works when powernow-k8 is UN-loaded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--- Comment #40 from registosites@xxxxxxxxxxx ---
> Hi,
> 
> Thanks for your efforts !!
> 
> We couldn't get the complete picture as there are just too many prints
> wanting to fit on screen :)
> 
> Can you try this to get the right set of prints for us, that way we might be
> able to focus in the right direction:
> 
> - Remove all pr_debug() lines from powernow-k8 driver
> - And apply attached patch for cpufreq core, only reducing number of print
> messages. (Rebased over 3.15)

I have deleted all pr_debug() lines and recompiled with all the patches,
modifications and config options from previous posts.

> 
> And then give us another screenshot..

The new screenshot is attached. After bringing the cpu online I got back to a
prompt but the machine hangs.

> 
> Also some queries about your current logs:
> - I hope this was the last message you saw on screen and it just became
> unresponsive?
> 
> freq_table: target index is 0, freq is:2200000 kHz
> 

That was the last output before the machine became unresponsive.

> and the expected ones after this are:
> 
> powernow_k8: targ: cpu 0, 2200000 kHz, min 800000, max 2200000
> powernow_k8: targ: curr fid 0x8, vid 0x15
> powernow_k8: cpu 0 transition to index 0
> powernow_k8: table matched fid 0xe, giving vid 0x12
> powernow_k8: cpu 0, changing to fid 0xe, vid 0x12
> 
> So, it looks like the CPU did came back and something happened while changing
> freq to max.
> 
> Somehow this problem is related to something special being done in your
> driver. We don't see this problem otherwise for other platforms.
> 
> One thing i could figure out is scheduling a *work* for changing frequencies
> but I am not sure if the problem is related to that..
> 
> I tried to have a look at what changed between 3.13.8 and 3.14, and couldn't
> figure out anything special that might end up in this issue :(
> 
> 
> If you couldn't get anything conclusive with above tests then there might be
> some chances that it *isn't* related to cpufreq and some other changes in
> kernel are responsible. The best we can try is: get only cpufreq back to the
> old state, i.e. 3.13.8, by reverting commits and try again..
> 
> few reverts were required for this and to simplify your work I have created
> a branch with all reverts required.
> 
> git://git.linaro.org/people/viresh.kumar/mylinux.git powernow-k8-debugging
> 
> NOTE: We can still see some diff this way:
> git diff v3.13.8..powernow-k8-debugging -- drivers/cpufreq/ --
> include/linux/cpufreq.h
> 
> But there shouldn't be any *functional* change for
> cpufreq.c/governors/freq-table.c/powernow-k8 drivers and all cpufreq files
> do compile.. (haven't tried compiling powernow-k8)..
> 
> Let me know if this solves your problem or make it worst :)

I didn't manage to compile this one, it fails with:

  CC      drivers/cpuidle/sysfs.o
  CC      lib/dynamic_debug.o
  CC [M]  drivers/cpufreq/acpi-cpufreq.o
  CC      drivers/cpuidle/governors/ladder.o
drivers/cpufreq/acpi-cpufreq.c: In function ‘store_boost’:
drivers/cpufreq/acpi-cpufreq.c:160:26: error: ‘struct cpufreq_driver’ has no
member named ‘boost_supported’
  if (!acpi_cpufreq_driver.boost_supported)
                          ^
drivers/cpufreq/acpi-cpufreq.c: In function ‘show_cpb’:
drivers/cpufreq/acpi-cpufreq.c:180:49: error: ‘struct cpufreq_driver’ has no
member named ‘boost_enabled’
  return sprintf(buf, "%u\n", acpi_cpufreq_driver.boost_enabled);
                                                 ^
drivers/cpufreq/acpi-cpufreq.c: In function ‘boost_notify’:
drivers/cpufreq/acpi-cpufreq.c:540:37: error: ‘struct cpufreq_driver’ has no
member named ‘boost_enabled’
   boost_set_msrs(acpi_cpufreq_driver.boost_enabled, cpumask);
                                     ^
drivers/cpufreq/acpi-cpufreq.c: At top level:
drivers/cpufreq/acpi-cpufreq.c:897:2: error: unknown field ‘set_boost’
specified in initializer
  .set_boost      = _store_boost,
  ^
drivers/cpufreq/acpi-cpufreq.c:897:2: warning: excess elements in struct
initializer
drivers/cpufreq/acpi-cpufreq.c:897:2: warning: (near initialization for
‘acpi_cpufreq_driver’)
drivers/cpufreq/acpi-cpufreq.c: In function ‘acpi_cpufreq_boost_init’:
drivers/cpufreq/acpi-cpufreq.c:908:22: error: ‘struct cpufreq_driver’ has no
member named ‘boost_supported’
   acpi_cpufreq_driver.boost_supported = true;
                      ^
drivers/cpufreq/acpi-cpufreq.c:909:22: error: ‘struct cpufreq_driver’ has no
member named ‘boost_enabled’
   acpi_cpufreq_driver.boost_enabled = boost_state(0);
                      ^
drivers/cpufreq/acpi-cpufreq.c:913:37: error: ‘struct cpufreq_driver’ has no
member named ‘boost_enabled’
   boost_set_msrs(acpi_cpufreq_driver.boost_enabled,
                                     ^
drivers/cpufreq/acpi-cpufreq.c: In function ‘show_cpb’:
drivers/cpufreq/acpi-cpufreq.c:181:1: warning: control reaches end of non-void
function [-Wreturn-type]
 }
 ^
scripts/Makefile.build:314: recipe for target 'drivers/cpufreq/acpi-cpufreq.o'
failed
make[2]: *** [drivers/cpufreq/acpi-cpufreq.o] Error 1
scripts/Makefile.build:455: recipe for target 'drivers/cpufreq' failed
make[1]: *** [drivers/cpufreq] Error 2
make[1]: *** Waiting for unfinished jobs....
  CC      drivers/cpuidle/governors/menu.o
  CC      lib/nlattr.o
  CC      net/core/rtnetlink.o
  LD      drivers/cpuidle/governors/built-in.o
  LD      drivers/cpuidle/built-in.o
Makefile:841: recipe for target 'drivers' failed
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
  CC      net/core/utils.o
  CC      lib/average.o
  CC      lib/cpu_rmap.o
  CC      lib/dynamic_queue_limits.o

-- 
You are receiving this mail because:
You are the assignee for the bug.--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux