On 2007.05.18 17:46:29 +0200, Björn Steinbrink wrote: > Hi, > > while playing around with powertop, I noticed that my power usage wasn't > what it used to be. In total idle mode, everything was fine, but as soon > as I loaded the ipw2200 module and bring up the device, power usage > rises to about 16.8W, while kernel up to 2.6.20 used only about 15.3W. A > day worth of bisecting later, I could put my finger on dynticks, tested > 2.6.22-rc1 without dynticks and power usage was at least down to about > 15.5-15.6W, not perfect, but a lot better. > > It seems that ipw2200 wants to do something about its power usage, but > dynticks stops it from doing so, as holding down the "Fn" key, and > thereby generating about 60 additional wakeups per second, brings the > power usage down to about the same as in the non-dynticks case. > > Powertop also revealed, that with dynticks, my CPU is spending 99% in C2 > when the power usage is high, but about 50% in C3 when I hold down "Fn". > > Let me know if you need further details.
Ok, it seems that ipw2200 is just a trigger for the problem here. AFAICT the cause of the worse C state usage is that after ipw2200 has woken the cpu, acpi_processor_idle() chooses C2 (due to dma? bm? I have no idea...) as the prefered sleep state. Now without NO_HZ or when I hold down a key, there are interrupts that wake up the CPU and when acpi_processor_idle() is called again the promotion to C3/C4 happens. But with NO_HZ, there are no such interrupts, most wakeups are caused by ipw2200 and so the processor doesn't go any deeper than C2 most of the time and thus wastes lots of power. Björn - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/