public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] scalable timers implementation, 2.4.16, 2.5.0
@ 2001-11-27 14:57 Ingo Molnar
  2001-12-05 21:29 ` Rusty Russell
  0 siblings, 1 reply; 8+ messages in thread
From: Ingo Molnar @ 2001-11-27 14:57 UTC (permalink / raw)
  To: linux-kernel


the 'ultra scalable timers' patch, against 2.4.16 or 2.5.0 is available
at:

  http://redhat.com/~mingo/scalable-timers-patches/smptimers-2.4.16-A0

these are the goals of the patch:

the current 2.4 timer implementation uses a global spinlock for
synchronizing access to the global timer lists. This causes excessive
cacheline ping-pongs and visible performance degradation under very high
TCP networking load (and other, timer-intensive operations).

The new implementation introduces per-CPU timer lists and per-CPU
spinlocks that protect them. All timer operations, add_timer(),
del_timer() and mod_timer() are still O(1) and cause no cacheline
contention at all (because all data structures are separated). All
existing semantics of Linux timers are preserved, so the patch is
'transparent' to all other subsystems.

(The patch does not attempt to change the timer interface in any way -
that might be done via different patches. These timers are compatible with
TIMER_BH & cli() methods of synchronization as well.)

	Ingo


^ permalink raw reply	[flat|nested] 8+ messages in thread
[parent not found: <3C0E9BFD.BC189E17@zip.com.au.suse.lists.linux.kernel>]

end of thread, other threads:[~2001-12-06  9:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-27 14:57 [patch] scalable timers implementation, 2.4.16, 2.5.0 Ingo Molnar
2001-12-05 21:29 ` Rusty Russell
2001-12-05 22:13   ` Andrew Morton
2001-12-06  2:15     ` Rusty Russell
2001-12-06  4:20       ` Andrew Morton
2001-12-06  9:10       ` Alan Cox
2001-12-06 10:41   ` Ingo Molnar
     [not found] <3C0E9BFD.BC189E17@zip.com.au.suse.lists.linux.kernel>
     [not found] ` <E16Bo4c-00031f-00@wagner.suse.lists.linux.kernel>
2001-12-06  2:32   ` Andi Kleen

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