On Wed, Jul 27, 2011 at 07:03:33PM -0700, William Ahern wrote: <snip> > However, the difference between vDSO support and no vDSO support was nothing > compared to the OpenBSD v. Linux differences. OpenBSD system calls are > incredibly slow compared to Linux. A million gettimeofday calls on OpenBSD > takes 5 seconds to complete, whereas a similarly equipped Linux box > sans-vDSO takes about 0.15 seconds. Time counter support _should_ be enabled > on my OpenBSD box, so that's a 33x difference in syscall performance. > > Basically, the cost of gettimeofday() shouldn't be much of a concern to > anybody on Linux. It _shouldn't_ be much of a concern on OpenBSD. If I > understand the kern_tc.c implementation properly, gettimeofday() doesn't do > any writes at all. In fact, OpenBSD appears to have modified the original > FreeBSD Timecounter implementation so that all gettimeofday() and > clock_gettime() calls just read the cached value from the periodic timer.
I was wrong. I totally missed the get_timecount call in kern_tc.c:tc_delta(). Following that I can see that both the i8254 and ACPI drivers read from the hardware. So OpenBSD is definitely suffering for it's lack of TSC support (e.g. the SMP-safe RTSDCP on AMD64 and later Intel chips). *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.