Bug 359828

Summary: kernel-default-2.6.16.54-0.2.5 (x86-64) problem with powernow-k8 module
Product: [openSUSE] SUSE Linux 10.1 Reporter: Daniel Lescohier <daniel.lescohier>
Component: KernelAssignee: Thomas Renninger <trenn>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: SuSE Linux 10.1   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Daniel Lescohier 2008-02-08 05:49:35 UTC
There's a problem with the powernow-k8 module with kernel-default-2.6.16.54-0.2.5 (x86-64). It worked fine under -0.2.3. Note the last line in this /var/log/messages extract.

Feb  7 23:59:51 htpc kernel: divide error: 0000 [1]
Feb  7 23:59:51 htpc kernel: last sysfs file: /class/net/lo/address
Feb  7 23:59:51 htpc kernel: CPU 0
Feb  7 23:59:51 htpc kernel: Modules linked in: powernow_k8 freq_table ipv6 nfsd exportfs edd lockd nfs_acl sunrpc it87 snd_pcm_oss hwmon_vid hwmon snd_mixer_oss snd_seq i2c_isa snd_seq_device snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_pcm snd_timer snd soundcore snd_page_alloc button battery ac apparmor aamatch_pcre loop dm_mod cx88_blackbird shpchp pci_hotplug cx88_dvb tda9887 ide_cd cdrom ehci_hcd cx8802 cx88_vp3054_i2c mt352 or51132 video_buf_dvb dvb_core nxt200x firmware_class cx24123 lgdt330x cx22702 dvb_pll i2c_nforce2 cx8800 cx88xx i2c_algo_bit video_buf ir_common tveeprom compat_ioctl32 v4l1_compat btcx_risc nvidia tuner v4l2_common ohci1394 videodev ieee1394 skge ohci_hcd usbcore i2c_core parport_pc lp parport jfs fan thermal processor sg sata_nv libata amd74xx sd_mod scsi_mod ide_disk ide_core
Feb  7 23:59:51 htpc kernel: Pid: 3124, comm: modprobe Tainted: P     U 2.6.16.54-0.2.5-default #1
Feb  7 23:59:51 htpc kernel: RIP: 0010:[<ffffffff88a0e028>] <ffffffff88a0e028>{:powernow_k8:powernowk8_init+40}
Feb  7 23:59:51 htpc kernel: RSP: 0018:ffff810018b25e78  EFLAGS: 00010246
Feb  7 23:59:51 htpc kernel: RAX: 0000000000000001 RBX: ffffffff803232b0 RCX: 0000000000000000
Feb  7 23:59:51 htpc kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff88c1fecc
Feb  7 23:59:51 htpc kernel: RBP: ffffffff88c21800 R08: 0000000000000000 R09: ffff810019424190
Feb  7 23:59:51 htpc kernel: R10: ffff8100184087f8 R11: ffffffff801bdfb5 R12: ffffffff80323290
Feb  7 23:59:51 htpc kernel: R13: ffffffff88c21800 R14: ffff81001a1aac20 R15: ffffc20000c67b48
Feb  7 23:59:51 htpc kernel: FS:  00002ad1b27436d0(0000) GS:ffffffff8037f000(0000) knlGS:0000000000000000
Feb  7 23:59:51 htpc rcpowersaved: Cannot load cpufreq governors - No cpufreq driver available
Feb  7 23:59:51 htpc kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Feb  7 23:59:51 htpc kernel: CR2: 00007fff949f6074 CR3: 0000000018b1b000 CR4: 00000000000006e0
Feb  7 23:59:51 htpc kernel: Process modprobe (pid: 3124, threadinfo ffff810018b24000, task ffff81001e6a4790)
Feb  7 23:59:51 htpc kernel: Stack: ffffffff80323290 ffffffff8013e6fc ffff810018b25e88 0000000000000014
Feb  7 23:59:51 htpc kernel:        0000000000519bd0 00000000ad1b2413 0000000000000000 0000000000000000
Feb  7 23:59:51 htpc kernel:        0000000000000000 0000000000000000
Feb  7 23:59:51 htpc kernel: Call Trace: <ffffffff8013e6fc>{sys_init_module+5001}
Feb  7 23:59:51 htpc kernel:        <ffffffff8010aa76>{system_call+126}
Feb  7 23:59:51 htpc kernel:
Feb  7 23:59:51 htpc kernel: Code: f7 f1 b9 01 00 00 00 48 c7 c2 b4 6a 38 80 89 c6 31 c0 e8 de
Feb  7 23:59:51 htpc kernel: RIP <ffffffff88a0e028>{:powernow_k8:powernowk8_init+40} RSP <ffff810018b25e78>


With the prior kernel (kernel-default-2.6.16.54-0.2.3), the module loads fine:

Feb  8 00:02:26 htpc kernel: powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3500+ processors (version 2.00.00)
Feb  8 00:02:26 htpc kernel: powernow-k8:    0 : fid 0xe (2200 MHz), vid 0x2
Feb  8 00:02:26 htpc kernel: powernow-k8:    1 : fid 0xc (2000 MHz), vid 0x6
Feb  8 00:02:26 htpc kernel: powernow-k8:    2 : fid 0xa (1800 MHz), vid 0xa
Feb  8 00:02:26 htpc kernel: powernow-k8:    3 : fid 0x2 (1000 MHz), vid 0x12

For a workaround, I'm using the 2.6.16.54-0.2.3 kernel.

Here's my cpuinfo (under -0.2.3):
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 15
model name      : AMD Athlon(tm) 64 Processor 3500+
stepping        : 0
cpu MHz         : 1000.000
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow
bogomips        : 2011.99
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

My boot options:

title SUSE LINUX 10.1
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/sda2 vga=789 selinux=0 resume=/dev/sda1 splash=silent noapic showopts
    initrd /boot/initrd
Comment 1 Thomas Renninger 2008-02-08 12:56:16 UTC
This is with the latest maintenance update kernel?
Then this is a duplicate -> marking as such.
Please reopen if it is not.

There should already be or there should be soon another update kernel fixing this (should all be stated in the other bug..).

*** This bug has been marked as a duplicate of bug 357598 ***
Comment 2 Daniel Lescohier 2008-02-08 16:23:41 UTC
I would not call this a duplicate of bug 357598 for these reasons:

 * bug 357598 mentions the Intel speedstep kernel modules, but does not mention the AMD powernow-k8 kernel modules.

 * bug 357598 is about missing kernel modules, because of a kernel build config error; in my bug, the kernel module exists, but causes an exception on trying to load it with modprobe.

 * bug 357598 is for Product openSUSE 10.3, while this bug is for product SUSE Linux 10.1.  They use different kernels; 2.6.22 for 10.3 and 2.6.16 for 10.1.

To answer your question, yes this is the latest maintenance update of the SUSE kernel updated from SUSE's online repository: 2.6.16.54-0.2.5. I've reverted to the prior maintenance release, 2.6.16.54-0.2.3, and there are no problems with -0.2.3, everything else in the system remaining the same.
Comment 3 Thomas Renninger 2008-02-10 21:25:19 UTC

*** This bug has been marked as a duplicate of bug 358354 ***
Comment 4 Thomas Renninger 2008-02-14 08:40:29 UTC
10.1 is SLES based, please try this kernel:
ftp.suse.com/pub/projects/kernel/kotd/SLES10_SP1_BRANCH/x86_64/kernel-default.rpm

You can check the changelog rpm -qp --changelog kernel-xy.rpm |less
This is the fix:
* Mon Feb 11 2008 - trenn@suse.de
- patches.arch/x86_64_powernow_display_cpus_correctly.patch:
  Output cleanup for CPUs in powernow-k8 driver (#334743).
  Check for possible divide through zero.

The change will be in the next update kernel.