Bug 6367 - acpi-cpufreq: fancy CPUfreq values - can't load p4-clockmod anymore
Summary: acpi-cpufreq: fancy CPUfreq values - can't load p4-clockmod anymore
Status: REJECTED UNREPRODUCIBLE
Alias: None
Product: Power Management
Classification: Unclassified
Component: cpufreq (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: cpufreq
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-10 06:06 UTC by paolo
Modified: 2007-09-11 00:20 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.16.1 + suspend2-2.2.4
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
oops on modprobe -r cpufreq_stats (17.27 KB, text/plain)
2006-04-14 14:47 UTC, paolo
Details

Description paolo 2006-04-10 06:06:56 UTC
[P: blockng for me at least, as it prevents me to upgrade the kernel and benefit
 from certain fixes]

Most recent kernel where this bug did not occur: 2.6.15.5, Debian's 2.6.15-1.686
Distribution: Debian Sarge, official + custom/vanilla kernel

Hardware Environment:
# cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Celeron(R) CPU 2.70GHz
stepping        : 9
cpu MHz         : 336.750
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr
bogomips        : 5389.63

# lspci
0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
0000:00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control
Registers (rev 02)
0000:00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process
Registers (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated
Graphics Device (rev 02)
0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics
Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #2 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI
Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage
Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus
Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM
(ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem
Controller (rev 03)
0000:01:05.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg
NIC (rev 01)
0000:01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet
Controller (rev 83)
0000:01:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 33)

Software Environment:
Problem Description:
I've got a P4-celeron Toshiba notebook which used to work ok with the
cpufreq driver p4-clockmod, but that drivers doesn't load anymore in
2.6.16.1, while the acpi-cpufreq does, but offers wrong numbers:

#----OLD----#
# uname -r
2.6.14.7-se-ss2.2-rc15-p4.1
[ss2 stands for suspend2 patch]

with p4-clockmod:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
337500 675000 1012500 1350000 1687500 2025000 2362500 2700000
# lsmod|grep cpu
cpufreq_userspace       5340  0
cpufreq_stats           6020  0
cpufreq_ondemand        6556  0
cpufreq_conservative     7460  0
freq_table              5636  2 cpufreq_stats,p4_clockmod
cpufreq_powersave       2176  0

and works ok.

#----NEW----#
$ uname -r
2.6.16.1-se-ss2.2.2-p4.1
p4-clockmod doesn't load anymore.

with acpi-cpufreq I get fancy CPUfreqs:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2700000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000
+65535000 65535000 65535000 65535000 65535000 65535000

$ lsmod|grep cpu
acpi_cpufreq            7688  1
cpufreq_stats           5508  0
cpufreq_powersave       2304  0
cpufreq_userspace       4884  1
cpufreq_conservative     6820  0
cpufreq_ondemand        6044  0
cpuid                   3460  0
processor              38208  2 acpi_cpufreq,thermal
freq_table              5380  2 acpi_cpufreq,cpufreq_stats

also, cpufreq_stats won't unload anymore and suspend2 gets stuck there.

modprobe p4-clockmod results simply in: 'no such device' and nothing appears in
dmesg.

Steps to reproduce:
Comment 1 paolo 2006-04-14 14:47:51 UTC
Created attachment 7875 [details]
oops on modprobe -r cpufreq_stats
Comment 2 paolo 2006-04-14 14:51:17 UTC
tested 2.6.16.5: better, p4-clockmod would load, but avail_scaling_freq shows just:

2025000 2362500 2700000

while I know this CPU offers a larger f-table - I'd say the old one reported is 
correct/closer to what ToshibaHCI offers.

But get an oops on modprobe -r cpufreq_stats - see attachment #7875 [details].
Comment 3 paolo 2006-04-15 23:25:38 UTC
changing severity to 'normal', as p4-clockmod now loads and cpufreq works albeit
with very limited (nearly useless wrt pw.saving) cpu-freq.
Also, cpufreq_stats seems not essentials, so temp w.around is to not load it at all.
Comment 4 Zou Nan hai 2006-04-17 00:08:24 UTC
Does this reproduceable with latest RC kernel?
Comment 5 paolo 2006-04-17 02:38:42 UTC
2.6.17-rc1 won't even boot - pls see #6368
Comment 6 paolo 2006-04-18 12:23:52 UTC
k2.6.16.7 (some printk() added - note: PREEMPT in on)

1- p4-clockmod as shipped :
  in cpufreq_p4_cpi_init()
p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
has_N44_O17_errata[policy->cpu]=0, has_N60_errata[policy->cpu]=1
p4clockmod_table[1].frequency = -1
p4clockmod_table[2].frequency = -1
p4clockmod_table[3].frequency = -1
p4clockmod_table[4].frequency = -1
p4clockmod_table[5].frequency = -1
p4clockmod_table[6].frequency = 2025000
p4clockmod_table[7].frequency = 2362500
p4clockmod_table[8].frequency = 2700000

 - removing 'else if (has_N60...)':
p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
has errata -- disabling frequencies lower than 2ghz
p4clockmod_table[1].frequency = 337500
p4clockmod_table[2].frequency = 675000
p4clockmod_table[3].frequency = 1012500
p4clockmod_table[4].frequency = 1350000
p4clockmod_table[5].frequency = 1687500
p4clockmod_table[6].frequency = 2025000
p4clockmod_table[7].frequency = 2362500
p4clockmod_table[8].frequency = 2700000

and it works fine as before, in 2.6.15. I can change F, bogomips/actual
performance are consistent with F selected. I'm almost always using
'ondemand', other governors seem to get stuck to either L/H limits.
So, looks like such 'has_N60_errata' test is wrong here.


2- oops on 'rmmod cpufreq_stats': same as original report, still b0rked:

Unable to handle kernel paging request at virtual address dfa6e000
 printing eip:
dfa6e000
*pde = 01465067
*pte = 00000000
Oops: 0000 [#1]
PREEMPT 
Modules linked in: cpufreq_stats cpufreq_conservative cpufreq_powersave cpufreq_
userspace cpufreq_ondemand p4_clockmod freq_table usb_storage ipt_ULOG ipv6 twof
ish serpent des sha256 crypto_null capi capifs kernelcapi pcmcia firmware_class 
iptable_filter xfrm_user ipcomp esp4 ah4 iptable_mangle ip_tables x_tables nls_i
so8859_15 nls_cp850 vfat fat dm_mod sg sr_mod sd_mod scsi_mod lp speedstep_lib s
oftdog i915 drm hangcheck_timer toshiba_acpi thermal processor fan button batter
y ac video non_fatal capability commoncap cpuid usbhid evdev 8250_pci e100 mii y
enta_socket rsrc_nonstatic pcmcia_core 8250 serial_core snd_intel8x0 snd_intel8x
0m snd_ac97_codec snd_ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm intel_agp agpga
rt ide_cd psmouse ehci_hcd i2c_i801 uhci_hcd snd_timer snd soundcore snd_page_al
loc parport_pc parport cdrom serio_raw rtc i2c_core pcspkr
CPU:    0
EIP:    0060:[<dfa6e000>]    Not tainted VLI
EFLAGS: 00010282   (2.6.16.7-ss2.2.4-p4.1 #1) 
EIP is at 0xdfa6e000
eax: 00000000   ebx: dfba2500   ecx: 00000000   edx: ffff0001
esi: 00000000   edi: 00000880   ebp: d625c000   esp: d625df4c
ds: 007b   es: 007b   ss: 0068
Process rmmod (pid: 8558, threadinfo=d625c000 task=d33a3a90)
Stack: <0>dfba16e7 dfba247c 00000007 00000000 c01361a2 dfba2500 00000880 d625df6
c 
       00000000 66757063 5f716572 74617473 c2fa0073 d143d494 b7f0e000 b7f0f000 
       d143d494 cef4d200 cef4d234 00000000 d625c000 c015b2fe cef4d200 00f0e000 
Call Trace:
 [<dfba16e7>] cpufreq_stats_exit+0x47/0x4b [cpufreq_stats]
 [<c01361a2>] sys_delete_module+0x133/0x161
 [<c015b2fe>] sys_munmap+0x44/0x64
 [<c0102bd9>] syscall_call+0x7/0xb
Code:  Bad EIP value.

Comment 7 Andrew Morton 2007-01-31 01:24:07 UTC
Is this crash still happening in 2.6.20-rc7?
Comment 8 paolo 2007-02-05 06:59:54 UTC
can't tell, have no more that P4 notebook handy, sorry.

Can only report that, on a "Intel(R) Celeron(R) M processor 1400MHz" which looks
like a PM but isn't - ie speedstep won't work while p4_clockmod does - I had
similar problems, but 2.6.18.6 works fine. rmmod cpufreq_stats won't oops here,
either.

Also, 2.6.20-rc* broke too many things on this pc, running Debian Etch, that I
refrained from going on 2.6.19 and above.

Not 100% sure, but it might be reasonable to close this bugrep.

thx
Comment 9 paolo 2007-06-22 00:18:32 UTC
this happens again also in 2.6.19.7

acpi_cpufreq sets these scaling freqs, as in original report:
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2700000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000 65535000

once loaded, acpi_cpufreq can't be removed and p4-clockmod can't be loaded.

same for p4_clockmod as in original report, scaling freqs are bound > 2GHz, which turns out to be wrong on this CPU. 
Seems that p4-clockmod can be unloaded.

Seems that loading/unloading cpufreq-stats doesn't oopses anymore, though, so there seems to be an improvement.
Comment 10 Dave Jones 2007-07-02 17:00:34 UTC
2.6.19.7 is prehistoric.  Please try again with a newer kernel, as some similar bugs were definitely fixed after that version.
Comment 11 Adrian Bunk 2007-08-23 18:21:19 UTC
Please reopen this bug if it's still present with kernel 2.6.22.
Comment 12 paolo 2007-09-11 00:20:36 UTC
I will, provided that I'll find a way to get 2.6.22.* to work: 2.6.22.* doesn't even boot on any of 4 brands/flavours of notebooks I tried: P3, P4, PM; it hangs on ACPI stuff :(

Note You need to log in before you can comment on or make changes to this bug.