ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年10月4日 星期二

sysfs:
/sys/devices/system
suspend/hibernate 時: Suspending System Devices Suspending type 'vfp': vfp0 Suspending type 'clocksource': clocksource0 Suspending type 'timekeeping': timekeeping0 Suspending type 'timer': timer0 Suspending type 'mxc_gpio': mxc_gpio0 Suspending type 'cpu': cpu0 跟 /sys/device/system 下的目錄一致。


hibernate fail 時,是 cpu0 fail。
所以把 function address 印出來,到 System.mp 就可以查到 function name。
結果 vfp0, clocksource0,.. mxc_gpio0 都沒有 suspend function。
只有 cpu0 有,是 cpufreq_suspend。


driver/cpufreq/cpufreq.c 中的 printk 是用 cpufreq_debug_printk( ) 作動態控制。
控制的參數有 debug, debug_ratelimit

這兩個參數被宣告成 module_param,所以都會在 /sys/module/cpufreq 裡出現。

還有要開啟這個功能,要define CONFIG_CPU_FREQ_DEBUG。
這在 menuconfig 打開:
CPU Power Management --> Enable CPUfreq debugging

另外,看 cpufreq_debug_printk( ) 的 code,是 KERN_INFO,所以不會直接 output 到 console。
要直接輸出(不經 dmesg),就把他刪掉。


這樣 build 好kernel 啟動後,還要: echo 7 > /sys/module/cpufreq/debug echo 0 > /sys/module/cpufreq/debug_ratelimit 改一下 cpufreq 的debug 參數,讓他output message。
然後作 hibernate ,就可以看到 cpufreq-core 的 message 了。

沒有留言:

標籤

網誌存檔