Bug 462637

Summary: OpenSuSE 11.1 doesn't boot on AMD Turion X2 Ultra (Puma platfrom)
Product: [openSUSE] openSUSE 11.1 Reporter: Vadim Plessky <v.plessky>
Component: KernelAssignee: E-mail List <kernel-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium CC: andreas.herrmann3, jplack, stefan.fent, trenn
Version: Final   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 11.1   
Whiteboard:
Found By: Community User Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: lspci output
lspci -vv output
dmidecode
dmesg from successful boot with patched kernel
Power Management - Capabilities - as reported in KDE 4.2 module
script to show/set cpufreq settings
dmesg from openSuSE 11.1 with latest updates, kernel 2.6.27.37

Description Vadim Plessky 2008-12-27 13:26:10 UTC
OpenSuSE 11.1 doesn't boot on AMD Turion X2 Ultra (Puma platfrom)
Installed from Live CD hangs after loading kernel.

Disabling ACPI (ACPI=OFF or ACPI=HT) allows system to boot/install, 
BUT:
- ACPI (obviously) doesn't work
- system heats enermously
- notebook battery is not available
- system doesn't power-off on exit (need to press and hold Power button for 5 seconds)

Notebook: ASUS M51Ta
Processor:  AMD Turion X2 Ultra (Puma platfrom)

I will send lspci and dmidecode output as an attachment next to thsi bug report.
Comment 1 Vadim Plessky 2008-12-27 13:27:01 UTC
Created attachment 262500 [details]
lspci output
Comment 2 Vadim Plessky 2008-12-27 13:28:10 UTC
Created attachment 262501 [details]
lspci -vv output
Comment 3 Vadim Plessky 2008-12-27 13:29:02 UTC
Created attachment 262502 [details]
dmidecode
Comment 4 Greg Kroah-Hartman 2009-01-14 16:18:53 UTC
Are you trying to boot this in 64 or 32 bit mode?

Where does the kernel hang during booting?
Comment 5 Vadim Plessky 2009-01-14 19:06:25 UTC
Boot hangs both with 32-bit and 64-bit systems.
This bug is discusssed in Kernel Bugzilla:
http://bugzilla.kernel.org/show_bug.cgi?id=11541

System hangs when it initializes ACPI procedures (option ACPI=OFF helps, but than ACPI is not available)

Problem is in Linux kernel, I have booted FreeBSD - ACPI in BSD works.
Comment 6 Greg Kroah-Hartman 2009-01-14 19:21:51 UTC
So booting with "mtrr=off" works for you?
Comment 7 Vadim Plessky 2009-01-16 10:48:45 UTC
My system boots with Kernel built by Thomas Renninger:
ftp://ftp.suse.com/pub/people/trenn/puma_asus_mtrr_double_slash_fix

You need "disable_mtrr_save" boot parameter to activate the workaround.

ACPI works with this kernel as well, and I have 2 CPUs (both Cores) active.

Drawbacks:
- Suspend to RAM doesn't work
- Suspend to Disk also doens't work
- system still heats significantly (60C to 65C in ACPI thermal zone)
  This is better comparing to booting with "maxcpus=1" - temperature was about 75C in that case. But computer is still quite hot, comparing to Windows.
Comment 8 Vadim Plessky 2009-01-16 10:59:06 UTC
After booting with kernel referenced above::

Processor: AMD Turion Ultra ZM-84, 2.3Ghz
System: ASUS M51Ta

vadim@linux-062h:~> uname -a
Linux linux-062h 2.6.27.10-1.2-default #1 SMP 2009-01-09 18:17:50 +0100 i686 athlon i386 GNU/Linux

vadim@linux-062h:~> ls /proc/acpi/processor/P001                                   
info  limit  power  throttling                                                     

vadim@linux-062h:~> cat /proc/acpi/processor/P001/info                           
processor id:            0                                                       
acpi id:                 1
bus mastering control:   yes
power management:        no
throttling control:      yes
limit interface:         yes

vadim@linux-062h:~> cat /proc/acpi/processor/P001/limit
active limit:            P0:T0
user limit:              P0:T0
thermal limit:           P0:T0


vadim@linux-062h:~> cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 17
model           : 3
model name      : AMD Turion(tm) X2 Ultra Dual-Core Mobile ZM-84
stepping        : 1
cpu MHz         : 600.000
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
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 ht syscall nx mmxext
fxsr_opt rdtscp lm 3dnowext 3dnow constant_tsc pni cx16 lahf_lm
cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit
bogomips        : 4600.15
clflush size    : 64
power management: ts ttp tm stc 100mhzsteps hwpstate


vadim@linux-062h:~> cat /proc/acpi/processor/P001/power
active state:            C0
max_cstate:              C8
bus master activity:     00000000
maximum allowed latency: 2000000000 usec
states:
   C1:                  type[C1] promotion[--] demotion[--]
latency[000] usage[00000000] duration[00000000000000000000]


Regarding Power Saving:
--------------------------
My understanding that difference between Turion Ultra, (ZM-xx, QL-XX, RM-xx)
and older Turion 64 X2 (TL-xx, TK-xx) is that:
* Turion 64X2 has 3 power states (say 1.8Ghz, 1.2Ghz, 600Mhz)
* Turion Ultra has 8 power states (as you can see from
/proc/acpi/processor/P001/power)

Besides, AMD Turion Ultra (Puma platform) allows to scale not only CPU Frequency, but Voltage as well.
PowerNow-K8 kernel module doesn't allow it

I am wondering if module capable to control power saving in Phenom/Phenom II processors and latest Opterons (Shanghai) can be used with Turion Ultra, to enable better power saving.
Comment 9 Vadim Plessky 2009-01-16 16:19:06 UTC
Created attachment 265698 [details]
dmesg from successful boot with patched kernel


ACPI is working, but temperature in thermal zone is quite high:

vadim@linux-062h:~> sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +61.0°C  (crit = +108.0°C)    

according to logs, Linux uses AMD PowerNow module, which has just 3 frequency scaling levels:

powernow-k8: Found 1 AMD Turion(tm) X2 Ultra Dual-Core Mobile ZM-84 processors (2 cpu cores) (version 2.20.00)
powernow-k8:    0 : pstate 0 (2300 MHz)
powernow-k8:    1 : pstate 1 (1200 MHz)
powernow-k8:    2 : pstate 2 (600 MHz)


AMD Turion Ultra (Puma platform) has 8 states, plus voltage scaling (different voltage for each processor Core).
It looks like Linux uses mode with highest-voltage when PowerNow-K8 module is activated (K8 processors could not scale voltage, onlu cpu frequency)
Comment 10 Vadim Plessky 2009-01-16 16:24:18 UTC
Created attachment 265701 [details]
Power Management - Capabilities - as reported in KDE 4.2 module
Comment 11 Andreas Herrmann 2009-02-20 13:57:30 UTC
With reference to comment #9

> ACPI is working, but temperature in thermal zone is quite high:

What cpufreq governor are you using? (e.g. ondemand, performance)

Maybe you are sticking to userspace and/or performance governor
which might explain that your system doesn't reduce frequency.

> (K8 processors could not scale voltage, onlu cpu frequency)
On K8 it is also possible to change voltage. Using FIDVID control MSR
you can change frequency _and_ voltage IDs. And this is actually what
powernow-k8 driver is doing for this CPU family.

Main difference between family 10h/11h and K8 is that for family 10h
and 11h you can change frequency/voltage on a per core base but for
K8 the changes will take effect if and only if all cores of a
processor reduce frequency/voltage.

> AMD Turion Ultra (Puma platform) has 8 states

But that does not necessarily imply that your system makes use of
all 8 Pstates. Same with family 10h which supports up to 5 Pstates
but often systems provide only 2 or 3 Pstates.
Comment 12 Andreas Herrmann 2009-02-20 14:03:23 UTC
Created attachment 274292 [details]
script to show/set cpufreq settings

The cpufreq (cpu frequency scaling) attributes can be found in /sysfs, see for
example /sys/devices/system/cpu/cpu0/cpufreq

For ease of use you can use attached script to show/set your cpufreq settings.
Comment 13 Brandon Philips 2009-08-26 19:10:38 UTC
Did a quick backport of upstream fix 3ff42da5048649503e343a32be37b14a6a4e8aaf from upstream bug referenced in Comment #5

In about an hour or so test Kernels will appear on: http://beta.suse.com/private/bphilips/462637

I will post once they are available. Please test them once they are.
Comment 14 Brandon Philips 2009-09-01 17:55:37 UTC
(In reply to comment #13)
> Did a quick backport of upstream fix 3ff42da5048649503e343a32be37b14a6a4e8aaf
> from upstream bug referenced in Comment #5
> 
> In about an hour or so test Kernels will appear on:
> http://beta.suse.com/private/bphilips/462637

Sorry, our Kernel build server dropped this build. I am rebuilding now.
Comment 15 Vadim Plessky 2009-11-26 21:41:14 UTC
Hello,

I just tried to install openSUSE 11.2 on the same system (AMD Turion Ultra, ATI Radeon 3650)

Results are mixed.
Kernel from 11.2 (2.6.31.5-0.1) boots fine (tried KDE4 LiveCD x86).
I get to KDE4.3 screen.
Than I tried to install it to my hard disk.

But after reboot it doesn't load.
I am getting in 1st run innstallation process up the screen for adding users, than system tries to switch to mode 5 (graphics) and hangs, I see just black screen.
Tried to reboot system several times. Same problem.

Than I somehow got to command line (terminal).
And see following:
...
Master Resource Control: Runlevel 5 has been reached
Skipped services in runlevel 5: earlyxdm nfs xdm
...
login:

Tried to login from command line - and failed!
When I enter login/password entered during installation process, I get message:

Login Failed
'Permission on the password database may be too restrictive'

What should I do now?

P.S. I still have on another partition openSUSE 11.1 and can test it as well
Comment 16 Vadim Plessky 2009-11-26 23:03:15 UTC
Created attachment 329718 [details]
dmesg from openSuSE 11.1 with latest updates, kernel 2.6.27.37

openSuSE 11.1 boots with this kernel:

Version     : 2.6.27.37                         Vendor: openSUSE
Release     : 0.1.1
Source RPM: kernel-default-2.6.27.37-0.1.1.nosrc.rpm
Source Timestamp: 2009-10-15 14:56:58 +0200

But CPU scaling still doesn't work as expected, it seems CPU frequency scales down (to 600Mhz), but voltage is not changed.
Therefor temperature reposrted by sensors is rather high, and system is noisy:

vadim@linux-062h:~> sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +64.0°C  (crit = +108.0°C)

I attached dmesg output after boot with this recent kernel update (for OpenSuSE 11.1)
Comment 17 Thomas Renninger 2009-11-27 20:24:44 UTC
Vadim: This definitely gets too confusing in one bug.
Quick summary before I close this bug:
  1) You were affected by an mtrr issue on 11.1 -> machine did not boot -> fixed
  2) I expect your machine boots with 11.2, but the X-server does not come up.
  3) You *think* your machine is running hotter with 11.2

For 2) you may want to google for your graphics card: Radeon 3650 and find a suitable xorg.conf file. Best is you get fglrx running, this may also fix your high temp issue. For latest graphics fglrx can do better powersaving than other drivers.

Hmm, another hint about temp: If you have btusb module loaded, disable bluetooth via killswitch, saves 5 Watts in 11.2 for me (something broke for specific HW here that powersave works automatically).

The initial issue of the bug is fixed -> closing fixed.
For the other issues, please first try to solve them yourself by googling, asking in chats/fora, search bugzilla for similar bugs (AFAIK xorg.conf generation is rather bad atm). If nothing helps, please open another bug against 11.2.