Messages in this thread Patch in this message |  | | | Date | Fri, 03 Oct 2003 16:31:43 -0500 | | From | Steve Modica <> | | Subject | simple mod_timer patch |
| |
I pulled this back from the 2.6 kernel to reduce some serious contention on the timerlist_lock when I had 8 gigabit cards runnings.
diff -u -r1.23 -r1.24 --- linux/linux/kernel/timer.c 2003/08/11 20:16:19 1.23 +++ linux/linux/kernel/timer.c 2003/10/01 21:09:20 1.24 @@ -207,6 +207,14 @@ int ret; unsigned long flags;
+ /* + * This is a common optimization triggered by the + * networking code - if the timer is re-modified + * to be the same thing then just return: + */ + if (timer->expires == expires && timer_pending(timer)) + return 1; + spin_lock_irqsave(&timerlist_lock, flags); timer->expires = expires; ret = detach_timer(timer);
-- Steve Modica work: 651-683-3224 MTS-Technical Lead "Give a man a fish, and he will eat for a day, hit him with a fish and he leaves you alone" - me
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |