From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 77201] CPU online hangs, works when powernow-k8 is UN-loaded
Date: Wed, 11 Jun 2014 13:50:33 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Transfer-Encoding: QUOTED-PRINTABLE
Return-path:
In-Reply-To:
Sender: cpufreq-owner@vger.kernel.org
List-ID:
Content-Type: text/plain; charset="utf-8"
To: cpufreq@vger.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=3D77201
--- Comment #40 from registosites@hotmail.com ---
> Hi,
>=20
> Thanks for your efforts !!
>=20
> We couldn't get the complete picture as there are just too many print=
s
> wanting to fit on screen :)
>=20
> Can you try this to get the right set of prints for us, that way we m=
ight be
> able to focus in the right direction:
>=20
> - 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.
>=20
> And then give us another screenshot..
The new screenshot is attached. After bringing the cpu online I got bac=
k to a
prompt but the machine hangs.
>=20
> Also some queries about your current logs:
> - I hope this was the last message you saw on screen and it just beca=
me
> unresponsive?
>=20
> freq_table: target index is 0, freq is:2200000 kHz
>=20
That was the last output before the machine became unresponsive.
> and the expected ones after this are:
>=20
> 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
>=20
> So, it looks like the CPU did came back and something happened while =
changing
> freq to max.
>=20
> Somehow this problem is related to something special being done in yo=
ur
> driver. We don't see this problem otherwise for other platforms.
>=20
> One thing i could figure out is scheduling a *work* for changing freq=
uencies
> but I am not sure if the problem is related to that..
>=20
> I tried to have a look at what changed between 3.13.8 and 3.14, and c=
ouldn't
> figure out anything special that might end up in this issue :(
>=20
>=20
> If you couldn't get anything conclusive with above tests then there m=
ight be
> some chances that it *isn't* related to cpufreq and some other change=
s 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..
>=20
> few reverts were required for this and to simplify your work I have c=
reated
> a branch with all reverts required.
>=20
> git://git.linaro.org/people/viresh.kumar/mylinux.git powernow-k8-debu=
gging
>=20
> NOTE: We can still see some diff this way:
> git diff v3.13.8..powernow-k8-debugging -- drivers/cpufreq/ --
> include/linux/cpufreq.h
>=20
> 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)..
>=20
> 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 =E2=80=98store_boost=E2=80=99=
:
drivers/cpufreq/acpi-cpufreq.c:160:26: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_supported=E2=80=99
if (!acpi_cpufreq_driver.boost_supported)
^
drivers/cpufreq/acpi-cpufreq.c: In function =E2=80=98show_cpb=E2=80=99:
drivers/cpufreq/acpi-cpufreq.c:180:49: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_enabled=E2=80=99
return sprintf(buf, "%u\n", acpi_cpufreq_driver.boost_enabled);
^
drivers/cpufreq/acpi-cpufreq.c: In function =E2=80=98boost_notify=E2=80=
=99:
drivers/cpufreq/acpi-cpufreq.c:540:37: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_enabled=E2=80=99
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 =E2=80=98set=
_boost=E2=80=99
specified in initializer
.set_boost =3D _store_boost,
^
drivers/cpufreq/acpi-cpufreq.c:897:2: warning: excess elements in struc=
t
initializer
drivers/cpufreq/acpi-cpufreq.c:897:2: warning: (near initialization for
=E2=80=98acpi_cpufreq_driver=E2=80=99)
drivers/cpufreq/acpi-cpufreq.c: In function =E2=80=98acpi_cpufreq_boost=
_init=E2=80=99:
drivers/cpufreq/acpi-cpufreq.c:908:22: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_supported=E2=80=99
acpi_cpufreq_driver.boost_supported =3D true;
^
drivers/cpufreq/acpi-cpufreq.c:909:22: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_enabled=E2=80=99
acpi_cpufreq_driver.boost_enabled =3D boost_state(0);
^
drivers/cpufreq/acpi-cpufreq.c:913:37: error: =E2=80=98struct cpufreq_d=
river=E2=80=99 has no
member named =E2=80=98boost_enabled=E2=80=99
boost_set_msrs(acpi_cpufreq_driver.boost_enabled,
^
drivers/cpufreq/acpi-cpufreq.c: In function =E2=80=98show_cpb=E2=80=99:
drivers/cpufreq/acpi-cpufreq.c:181:1: warning: control reaches end of n=
on-void
function [-Wreturn-type]
}
^
scripts/Makefile.build:314: recipe for target 'drivers/cpufreq/acpi-cpu=
freq.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
--=20
You are receiving this mail because:
You are the assignee for the bug.