Timers and timing, was: MySQL Performance 6.0rc1

Maxim Konovalov maxim at macomnet.ru
Fri Oct 28 04:06:34 PDT 2005


On Fri, 28 Oct 2005, 12:50+0200, Poul-Henning Kamp wrote:

> In message <436200BE.70604 at freebsd.org>, David Xu writes:
> >Poul-Henning Kamp wrote:
> >> In message <4361FDBE.7000500 at freebsd.org>, David Xu writes:
> >>
> >>
> >> the correct way to optimize this would be to add a time(2) systemcall
> >> which returns the value of the kernel global time_second.
> >>
> >
> >Can we make a page in kernel address space which is readable my user
> >code? put the variable in the page, I know read an integer is atomic-op,
> >needn't lock, so syscall is not needed.
>
> We have often talked about doing something like that, but so far nobody
> has come up with a (sensible) implementation.
>
> Please thing _very_ carefully about the implications for libc
> versioning before hacking up a patch.

We used to use a following setup on our overloaded (a couple of
millions emails per day) SMTP|LMTP|POP3 server:

- a deamon calls gettimeofday(2) every 10 msec and exports the
information to a sysv share memory segment;

- LD_PREALOD'ed libgettimeofday.so library makes it visible to the
userland.

It improved the health of the server greatly.

I can't call it a sensible implementation though.

-- 
Maxim Konovalov


More information about the freebsd-current mailing list