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
>> do {
>> (void)gettimeofday((struct timeval *) &tv, (struct timezone *) NULL);
>> } while (tv.tv_sec == prev_tv.tv_sec && tv.tv_usec == prev_tv.tv_usec);
> Yes, that's the difference between precision and resolution.
Yes, but that doesn't strike me as very relevant.
> While gettimeofday yields a value with a microsecond precision, the
> resolution depends on the timecounter, and some timecounters only
> provide a resolution of HZ ticks per second (usually 10ms).
Does any of this vary with CPU count?
Even if so:
(1) IIRC, I saw code to artificially increment tv_usec, to cause
consecutive calls to return different values. I'm not sure where I saw
that, though; it may not be relevant here.
(2) Even if it changes only every 10ms, waiting for it to change 100
times should not take more than a little over a second.
(3) None of the above explains ktrace showing gettimeofday taking
multiple _seconds_ - nor two CALLs and only one RET. That last
actually looks odd enough I suspect something is corrupting the trace.
> and using a polling loop for uniquid is what I'd expect from php.
Whether or not it's good, bad, or just ugly, it looks to me as though
it's exposed a bug.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index