kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* gettimeofday "slow" in RHEL4 guests
@ 2008-11-24 17:47 David S. Ahern
  2008-11-25  4:41 ` David S. Ahern
  0 siblings, 1 reply; 15+ messages in thread
From: David S. Ahern @ 2008-11-24 17:47 UTC (permalink / raw)
  To: kvm-devel


I noticed that gettimeofday in RHEL4.6 guests is taking much longer than
with RHEL3.8 guests. I wrote a simple program (see below) to call
gettimeofday in a loop 1,000,000 times and then used time to measure how
long it took.


For the RHEL3.8 guest:
time -p ./timeofday_bench
real 0.99
user 0.12
sys 0.24

For the RHEL4.6 guest with the default clock source (pmtmr):
time -p ./timeofday_bench
real 15.65
user 0.18
sys 15.46

and RHEL4.6 guest with PIT as the clock source (clock=pit kernel parameter):
time -p ./timeofday_bench
real 13.67
user 0.21
sys 13.45

So, basically gettimeofday() takes about 50 times as long on a RHEL4 guest.

Host is a DL380G5, 2 dual-core Xeon 5140 processors, 4 GB of RAM. It's
running kvm.git tree as of 11/18/08 with kvm-75 userspace. Guest in both
RHEL3 and RHEL4 cases has 4 vcpus, 3.5GB of RAM.

david

----------

timeofday_bench.c:

#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
	int rc = 0, n;
	struct timeval tv;
	int iter = 1000000;  /* number of times to call gettimeofday */

	if (argc > 1)
		iter = atoi(argv[1]);

	if (iter == 0) {
		fprintf(stderr, "invalid number of iterations\n");
		return 1;
	}

	printf("starting.... ");
	for (n = 0; n < iter; ++n) {
		if (gettimeofday(&tv, NULL) != 0) {
			fprintf(stderr, "\ngettimeofday failed\n");
			rc = 1;
			break;
		}
	}

	if (!rc)
		printf("done\n");

	return rc;
}

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2008-12-29 16:29 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-24 17:47 gettimeofday "slow" in RHEL4 guests David S. Ahern
2008-11-25  4:41 ` David S. Ahern
2008-11-25 10:14   ` Andi Kleen
2008-11-25 11:17     ` Alexander Graf
2008-11-25 11:48       ` Andi Kleen
2008-11-25 12:13         ` Alexander Graf
2008-11-25 12:52           ` Andi Kleen
2008-12-28 18:38             ` Marcelo Tosatti
2008-12-29 12:37               ` Yang, Sheng
2008-12-29 13:11               ` Avi Kivity
2008-12-29 16:12                 ` Dor Laor
2008-12-29 16:27                   ` Avi Kivity
2008-12-29 16:29                   ` Avi Kivity
2008-11-25 17:20   ` Hollis Blanchard
2008-11-25 19:09     ` David S. Ahern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).