Summary: |
No deep processor C-state after hibernate with radeon |
Product: |
xorg
|
Reporter: |
Pär Andersson <paran> |
Component: |
Driver/Radeon | Assignee: |
xf86-video-ati maintainers <xorg-driver-ati> |
Status: |
RESOLVED
FIXED
|
QA Contact: |
Xorg Project Team <xorg-team> |
Severity: |
normal
|
|
|
Priority: |
medium
|
|
|
Version: |
unspecified | |
|
Hardware: |
x86 (IA32) | |
|
OS: |
Linux (All) | |
|
Whiteboard: |
|
i915 platform:
|
|
i915 features:
|
|
Attachments: |
|
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 13811 [details] good-0x4C66-0 Description: When idle the processor typically spends >95% time in C4 sleep. Howver after acpi hibernate the processor never goes lower than C2. Even though there are no wakeup events detected. Restarting the X-server, or switching VT and starting and stoping another X-server fixes the problem so the processor starts entering lower C-states again. If I kill X before hibernating the problem does not occur. Backgrounding X by switching to a VT before hibernating have no effect. Attaching output from radeondump: good-0x4C66-0 - after boot. bad-0x4C66-0 - after hibernate, no deep C-states. good-again-0x4C66-0 - restored good state by starting and stopping a second X-server. Hardware and software: Dell D600 (Pentium M 1.8, 1G) Ubuntu 7.10 kernel: own compiled 2.6.24-rc8 xf86-video-ati: 6.7.195(ubuntu packaged), 6.7.197 and latest git. VGA card: 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] (rev 02) Here are also sample output from intel powertop in the good versus bad state which shows the C-state problem: good-0x4C66-0: Cn Avg residency P-states (frequencies) C0 (cpu running) ( 0.4%) 1.80 Ghz 0.0% C1 0.0ms ( 0.0%) 1.60 Ghz 0.0% C2 11.9ms ( 2.9%) 1400 Mhz 0.0% C3 1.0ms ( 0.0%) 600 Mhz 100.0% C4 71.3ms (96.6%) Wakeups-from-idle per second : 16.2 interval: 20.0s Power usage (ACPI estimate): 15.3W (4.9 hours) (long term: 15.9W,/4.7h) Top causes for wakeups: 28.7% ( 4.5) Xorg : do_setitimer (it_real_fn) 24.5% ( 3.8) <interrupt> : PS/2 keyboard/mouse/touchpad 11.6% ( 1.8) rxvt : schedule_timeout (process_timeout) 6.5% ( 1.0) dhcdbd : schedule_timeout (process_timeout) 6.5% ( 1.0) NetworkManager : tg3_open (tg3_timer) 4.8% ( 0.8) Xorg : schedule_timeout (process_timeout) 3.2% ( 0.5) gpg-agent : schedule_timeout (process_timeout) 3.2% ( 0.5) NetworkManager : schedule_timeout (process_timeout) 3.2% ( 0.5) <kernel module> : neigh_table_init_no_netlink (neigh_periodic_timer) 3.2% ( 0.5) <kernel module> : ipw_up (delayed_work_timer_fn) 1.6% ( 0.2) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer) 1.3% ( 0.2) <kernel core> : __netdev_watchdog_up (dev_watchdog) 0.6% ( 0.1) ssh-agent : schedule_timeout (process_timeout) 0.6% ( 0.1) ssh-agent : do_setitimer (it_real_fn) 0.3% ( 0.1) <kernel core> : ip_rt_init (delayed_work_timer_fn) bad-0x4C66-0: Cn Avg residency P-states (frequencies) C0 (cpu running) ( 0.1%) 1.80 Ghz 0.0% C1 0.0ms ( 0.0%) 1.60 Ghz 0.0% C2 126.6ms (99.0%) 1400 Mhz 0.0% C3 0.0ms ( 0.0%) 600 Mhz 100.0% C4 10.8ms ( 0.9%) Wakeups-from-idle per second : 8.6 interval: 5.0s Power usage (ACPI estimate): 15.8W (4.6 hours) Top causes for wakeups: 27.0% ( 2.0) emacs : schedule_timeout (process_timeout) 13.5% ( 1.0) bash : tg3_resume (tg3_timer) 13.5% ( 1.0) dhcdbd : schedule_timeout (process_timeout) 8.1% ( 0.6) <kernel module> : ipw_up (delayed_work_timer_fn) 8.1% ( 0.6) gpg-agent : schedule_timeout (process_timeout) 5.4% ( 0.4) Xorg : do_setitimer (it_real_fn) 5.4% ( 0.4) Xorg : schedule_timeout (process_timeout) 5.4% ( 0.4) NetworkManager : schedule_timeout (process_timeout) 5.4% ( 0.4) <kernel module> : neigh_table_init_no_netlink (neigh_periodic_timer) 2.7% ( 0.2) <interrupt> : PS/2 keyboard/mouse/touchpad 2.7% ( 0.2) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer) 2.7% ( 0.2) <kernel core> : __netdev_watchdog_up (dev_watchdog)