On Fri, Feb 19, 2010 at 02:57:27PM +0100, Ralf Baechle wrote: > > Before: > > n64 - Signal handler overhead: 14.517 microseconds > > n32 - Signal handler overhead: 14.497 microseconds > > o32 - Signal handler overhead: 16.637 microseconds > > > > After: > > > > n64 - Signal handler overhead: 7.935 microseconds > > n32 - Signal handler overhead: 7.334 microseconds > > o32 - Signal handler overhead: 8.628 microsecond > > On a 180MHz 2 CPU single-node IP27: > > Before: > Signal handler installation: 3.524 microseconds > Signal handler overhead: 37.009 microseconds > Protection fault: 4.264 microseconds > > After: > Signal handler installation: 3.536 microseconds > Signal handler overhead: 14.331 microseconds > Protection fault: 3.600 microseconds > > Everything meassured with very ancient O32 lmbench 2-alpha11 binaries. > IP27 has processors in separate packages so the cache-to-cache overhead > and thus the speedup is much higher than you have observed. I dug up an old 2.6.12-rc1 kernel binary and reran lmbench on the same system: Signal handler installation: 4.207 microseconds Signal handler overhead: 29.618 microseconds Protection fault: 2.105 microseconds And on 2.4.25: Signal handler installation: 3.674 microseconds Signal handler overhead: 8.855 microseconds Protection fault: 3.159 microseconds Ralf