tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PHP performance on Xen domU with mulitple vcpu



Mouse <mouse%Rodents-Montreal.ORG@localhost> writes:

> Not a bug in the sense that gettimeofday is violating its interface
> contract, just a bug in the sense that "something is wrong".  I'd say
> gettimeofday() taking as long as a second, measured by ktrace records,
> indicates a bug; everything involved is entirely in-kernel, so that
> can't really be blamed on userland.

Agreed; sorry for misreading.

> Yes.  VAX timekeeping is rather bad by modern standards; many VAXen
> (the KA630, used by the MicroVAX-II, in particular - I don't know the
> MicroVAX-III in this regard) are not capable of better than 10ms.
> There's no cycle counter and the ICCS can't do anything but an
> interrupt every 10ms - NICR and ICR are subsetted away.

I have no memory of the III (KA650?) being much different.

> And, yes, here's that "increment the usec" behaviour:
>
> 	if (tvp->tv_sec == lasttime.tv_sec &&
> 	    tvp->tv_usec <= lasttime.tv_usec &&
> 	    (tvp->tv_usec = lasttime.tv_usec + 1) >= 1000000) {
> 		tvp->tv_sec++;
> 		tvp->tv_usec -= 1000000;
> 	}
> 	bcopy(tvp, &lasttime, sizeof(struct timeval));
>
> Obviously, this depends on the system not sustaining as many as a
> million fetches of the time (gettimeofday() being only one of variousp
> things which can call microtime()) per second for any significant
> period.

heh, indeed.  I was thinking such behavior would be dangerous now, but
nobody would have thought so back in the those days.


Home | Main Index | Thread Index | Old Index