Skip to contentSkip to conversation

Make usb-autosuspend timer 1 sec jiffy aligned

PATCH In review Venki Pallipadi 2 participants 3 messages May 29, 2007 USB

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 Make usb-autosuspend timer 1 sec jiffy aligned

Below are a bunch of random timers, that were active on my system, that can better be round_jiffies() aligned.

I guess we need a audit of all timer usages atleast in kernel-core.

This patch:

Make usb autosuspend timers 1sec jiffy aligned.

drivers/usb/core/driver.c +1 -1
Index: linux-2.6.22-rc-mm/drivers/usb/core/driver.c
===================================================================
@@ -974,7 +974,7 @@
 			 * or for the past.
 			 */
 			queue_delayed_work(ksuspend_usb_wq, &udev->autosuspend,
-					suspend_time - jiffies);
+				round_jiffies_relative(suspend_time - jiffies));
 			}
 		return -EAGAIN;
 	}
#1 lore raw
Quoted 4 lines · On Tue, 29 May 2007 10:58:21 -0700 Venki Pallipadi wrote:

Below are a bunch of random timers, that were active on my system, that can better be round_jiffies() aligned.

and these 4 patches help with (a) power usage, or (b) cache usage/niceness, or (c) other (be specific)...

Thanks.

Quoted 13 lines

I guess we need a audit of all timer usages atleast in kernel-core.

This patch:

Make usb autosuspend timers 1sec jiffy aligned.

Index: linux-2.6.22-rc-mm/drivers/usb/core/driver.c
===================================================================

drivers/usb/core/driver.c

Quoted 9 lines
drivers/usb/core/driver.c +1 -2
@@ -974,7 +974,7 @@
 			 * or for the past.
 			 */
 			queue_delayed_work(ksuspend_usb_wq, &udev->autosuspend,
-					suspend_time - jiffies);
+				round_jiffies_relative(suspend_time - jiffies));
 			}
 		return -EAGAIN;
 	}
-

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

#2 lore raw
Quoted 10 lines · Randy Dunlap
Quoted 4 lines · On Tue, 29 May 2007 10:58:21 -0700 Venki Pallipadi wrote:

Below are a bunch of random timers, that were active on my system, that can better be round_jiffies() aligned.

and these 4 patches help with (a) power usage, or (b) cache usage/niceness, or (c) other (be specific)...

Yes. They are all related to power savings with tickless kernel. A 5 sec timer account for 0.2 unnecessary wakeups per sec (powertop numbers). All these patches together account for somewhere between 0.5-1 wakeup per second saving. That means my wakeups per second
comes down from ~18 per second to ~17 per second.
On my dual core laptop, CPUs will have more than 3% increase in average C3 residency (actual powertop number went from ~104mS to ~108mS long term C3 residency).

The actual AC power numbers were not consisitent enough to be reported here. But, all these small changes will add up in terms of power savings and battery life.

Thanks,
Venki