[PATCH] Dyn-tick support for S3C24xx (hack).

Andy Green andy at openmoko.com
Mon Jun 30 10:01:24 CEST 2008

Hash: SHA1

Somebody in the thread at some point said:

First of all, nice work!

| Yesterday I played with Intel's powertop on the Neo and noticed we
| generate 300+ wake-ups per second. It told me to enable CONFIG_NO_HZ
| for better results, so I went there and it was enabled
| (CONFIG_NO_IDLE_HZ on ARM), but it turns out the option doesn't do
| anything except on the OMAPs and Intel Xscale (and x86). I then trie


| dyn-ticks on ARM is enabled by passing "dyntick=enable" in the boot
| parameters or running
|  # echo 1 > /sys/devices/system/timer/timer0/dyn_tick
| (also lets you switch back to HZ mode later).

When I enable this, it destroys resume.

You may have been a bit too fast snipping this kind of thing without
testing for consequences from the dire warnings left by previous
travellers in this land:

- -/* ooh a nasty situation arises if we try to call s3c2410_timer_setup()
- - * the resume handler.  It is called in atomic context but the clock APIs
- - * try to lock a mutex which may sleep.  We are in a bit of an unusual
- - * situation because we don't have a tick source right now, but it
should be
- - * okay to try to schedule a work item... hopefully
- - */
- -
- -static void s3c2410_timer_resume_atomic(void)
- -{
- -	int ret = schedule_work(&resume_work);
- -	if (!ret)
- -		printk(KERN_INFO"Failed to schedule_work tick ctr (%d)\n", ret);
- -}

|   91.8% ( 99.7)       <interrupt> : lis302dl

neod has these open its whole life not doing anything with the the bulk
or all of the time.  If neod just opened /dev/input/event2 & 3 when it
had a use for them, that would certainly be a big powersaving all by itself.

Anyway maybe take a look at the resume situation if you enable the dynticks?

- -Andy
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org


More information about the openmoko-kernel mailing list