kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: kvm@vger.kernel.org
Cc: avi@redhat.com, Marcelo Tosatti <mtosatti@redhat.com>
Subject: [patch 2/2] test: vmexit: run parallel tests on each cpu
Date: Mon, 28 Sep 2009 08:22:10 -0300	[thread overview]
Message-ID: <20090928112247.443732285@redhat.com> (raw)
In-Reply-To: 20090928112208.841396420@redhat.com

[-- Attachment #1: vmexit-parallel --]
[-- Type: text/plain, Size: 1020 bytes --]

So one can measure SMP overhead.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

Index: qemu-kvm-test/kvm/user/test/x86/vmexit.c
===================================================================
--- qemu-kvm-test.orig/kvm/user/test/x86/vmexit.c
+++ qemu-kvm-test/kvm/user/test/x86/vmexit.c
@@ -85,6 +85,9 @@ static struct test {
 	{ vmcall, "vmcall", },
 	{ mov_from_cr8, "mov_from_cr8" },
 	{ mov_to_cr8, "mov_to_cr8" },
+};
+
+static struct test smp_tests[] = {
 	{ ipi, "ipi", is_smp },
 	{ ipi_halt, "ipi+halt", is_smp },
 };
@@ -113,14 +116,25 @@ static void do_test(struct test *test)
 
 #define ARRAY_SIZE(_x) (sizeof(_x) / sizeof((_x)[0]))
 
-int main(void)
+static void do_tests(void *junk)
 {
 	int i;
 
-	smp_init();
-
 	for (i = 0; i < ARRAY_SIZE(tests); ++i)
 		do_test(&tests[i]);
+}
+
+int main(void)
+{
+	int i, n;
+
+	smp_init();
+
+	for (n = cpu_count(); n > 0; n--)
+		on_cpu(n-1, do_tests, 0, 0);
+
+	for (i = 0; i < ARRAY_SIZE(smp_tests); ++i)
+		do_test(&smp_tests[i]);
 
 	return 0;
 }



  parent reply	other threads:[~2009-09-28 18:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-28 11:22 [patch 0/2] test: parallel vmexit Marcelo Tosatti
2009-09-28 11:22 ` [patch 1/2] test: add wait parameter to on_cpu Marcelo Tosatti
2009-09-29  8:32   ` Avi Kivity
2009-09-28 11:22 ` Marcelo Tosatti [this message]
2009-09-29  8:35   ` [patch 2/2] test: vmexit: run parallel tests on each cpu Avi Kivity
2009-10-05 13:07 ` [patch 0/2] kvm: test: parallel vmexit (v2) Marcelo Tosatti
2009-10-05 13:07   ` [patch 1/2] test: add on_cpu_async Marcelo Tosatti
2009-10-05 13:07   ` [patch 2/2] test: vmexit: run parallel tests on each cpu Marcelo Tosatti
2009-10-06  0:56     ` [patch 3/3] test: vmexit: inl from pmtimer Marcelo Tosatti
2009-10-06  9:56   ` [patch 0/2] kvm: test: parallel vmexit (v2) Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090928112247.443732285@redhat.com \
    --to=mtosatti@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).