The problem with suspend to RAM is that it's not very useful on a phone (i.e. you can't receive calls whilst it's suspended).
IroN900:~# zzztop WARNING: Only low accuracy timing available. Detected 1 cpus Detected 4 cpuidle states (3) Sleeping for 10 seconds before collecting data for 30 seconds Actually slept for 29.990s C-state Information =================== | CPU#0 | C# | time | avg/ms | ----+--------+--------+ C0 | 0.8% | | C1 | 0.0% | 0 | C2 | 1.1% | 6 | C3 | 24.0% | 218 | C4 | 74.0% | 569 | CPUfreq statistics ================== Frequency | CPU#0 | ----------+--------+ 250 MHz | 94.3% | 600 MHz | 5.7% | Interrupt statistics ==================== INT | CPU#0 | -----+-------+ 12 | 224 | INTC DMA 37 | 153 | INTC gp timer 11 | 111 | INTC prcm 56 | 90 | INTC i2c_omap 57 | 34 | INTC i2c_omap 202 | 22 | GPIO wl1251 Summary: 21.1 interrupts/s total Timer statistics ================ PID | Activity | task's comm | function -------+----------+-----------------+--------- 0 | 90 | swapper | tick_nohz_restart_sched_tick (tick_sched_timer) 37 | 35D| awk | cpufreq_governor_dbs (delayed_work_timer_fn) 2125 | 32 | xchat | schedule_hrtimeout_range (hrtimer_wakeup) 541 | 19 | wl12xx | queue_delayed_work (delayed_work_timer_fn) 0 | 11 | swapper | hrtimer_start (tick_sched_timer) 690 | 3 | dsme | do_nanosleep (hrtimer_wakeup) 690 | 3 | dsme | __enqueue_rt_entity (sched_rt_period_timer) 21444 | 2 | telepathy-sofia | schedule_hrtimeout_range (hrtimer_wakeup) 1627 | 2 | hildon-status-m | schedule_hrtimeout_range (hrtimer_wakeup) 745 | 2 | bme_RX-51 | sys_timer_settime (posix_timer_fn) 745 | 2 | bme_RX-51 | sys_timer_settime (posix_timer_fn) 745 | 2 | bme_RX-51 | sys_timer_settime (posix_timer_fn) 745 | 2 | bme_RX-51 | sys_timer_settime (posix_timer_fn) 745 | 2 | bme_RX-51 | do_nanosleep (hrtimer_wakeup) 745 | 2 | bme_RX-51 | schedule_timeout (process_timeout) 10 | 2 | omap2_mcspi | neigh_add_timer (neigh_timer_handler) 1 | 2D| swapper | queue_delayed_work (delayed_work_timer_fn) 0 | 2 | swapper | queue_delayed_work (delayed_work_timer_fn) 21723 | 1 | xchat | sk_reset_timer (tcp_write_timer) 10663 | 1 | zzztop | do_nanosleep (hrtimer_wakeup) 1682 | 1 | wlancond | ieee80211_ioctl_siwpower (ieee80211_dynamic_ps_timer) 1094 | 1 | dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup) 745 | 1 | bme_RX-51 | sys_timer_settime (posix_timer_fn) 714 | 1 | syslogd | hrtimer_start (it_real_fn) 541 | 1 | wl12xx | schedule_timeout (process_timeout) 541 | 1 | wl12xx | schedule_timeout (process_timeout) 541 | 1 | wl12xx | schedule_timeout (process_timeout) 29 | 1 | mount | setup_wb_timer (wb_timer_fn) 10 | 1 | omap2_mcspi | neigh_add_timer (neigh_timer_handler) 1 | 1 | swapper | queue_delayed_work (delayed_work_timer_fn) 1 | 1 | swapper | inet_initpeers (peer_check_expire) Context switches per task ========================= PID | vol'try | non-vol | Cmdline -------+---------+---------+-------- 21444 | 8 | 0 | /usr/lib/telepathy/telepathy-sofiasip 10663 | 1 | 11 | /usr/bin/perl -w /usr/local/bin/zzztop 2660 | 1 | 0 | <pdflush> 2125 | 33 | 6 | /usr/bin/xchat 1627 | 3 | 5 | /usr/bin/hildon-status-menu 1559 | 1 | 0 | /usr/bin/mission-control 1214 | 2 | 0 | /usr/bin/iphbd 1094 | 1 | 0 | /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 940 | 5 | 0 | /usr/lib/hal/hald-addon-bme 808 | 2 | 4 | /sbin/mce --force-syslog 801 | 4 | 0 | /usr/sbin/ohmd --no-daemon 774 | 2 | 2 | /usr/sbin/dbus-scripts --system 758 | 6 | 6 | /usr/bin/dbus-daemon --system --nofork 745 | 67 | 5 | /usr/sbin/bme_RX-51 717 | 11 | 0 | /sbin/dsme-server -p /usr/lib/dsme/libstartup.so 714 | 1 | 0 | /sbin/syslogd -n 690 | 7 | 0 | /sbin/dsme -p /usr/lib/dsme/libstartup.so 541 | 365 | 0 | <wl12xx> 27 | 36 | 0 | <kondemand/0> 10 | 403 | 176 | <omap2_mcspi> 4 | 5 | 0 | <events/0> 3 | 292 | 0 | <ksoftirqd/0> IroN900:~#