public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* simple mod_timer patch
@ 2003-10-03 21:31 Steve Modica
  2003-10-03 21:32 ` Steve Modica
  2003-10-03 22:07 ` Andrew Morton
  0 siblings, 2 replies; 4+ messages in thread
From: Steve Modica @ 2003-10-03 21:31 UTC (permalink / raw)
  To: linux-kernel, modica

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-10-06 15:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-03 21:31 simple mod_timer patch Steve Modica
2003-10-03 21:32 ` Steve Modica
2003-10-03 22:07 ` Andrew Morton
2003-10-06 15:22   ` Steve Modica

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox