From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH 26/27] Kernbench perf comparison between host and guest Date: Wed, 10 Dec 2014 19:12:24 +0100 Message-ID: <20141210181224.26400.10642.stgit@Abyss.station> References: <20141210180651.26400.13356.stgit@Abyss.station> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20141210180651.26400.13356.stgit@Abyss.station> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Ian Jackson , Wei Liu , Ian Campbell List-Id: xen-devel@lists.xenproject.org From: Dario Faggioli Recipes are defined for running kernbench on baremetal, and on PV and HVM guests. Jobs making use of those recipes are instantiated too. Aim is making investigating performances loss due to virtualization overhead easy and automatable. Signed-off-by: Dario Faggioli Cc: Wei Liu Cc: Ian Campbell Cc: Ian Jackson --- make-bench-flight | 14 +++++++++----- sg-run-job | 21 +++++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/make-bench-flight b/make-bench-flight index d41cbbd..12ac9f7 100755 --- a/make-bench-flight +++ b/make-bench-flight @@ -109,8 +109,9 @@ do_kernbench_tests () { all_hostflags=$most_hostflags } -do_hostcmp_unixbench_tests () { - sched=$1 +do_bench_hostcmp_tests () { + bench=$1 + sched=$2 # x86_64 only (for now) if [ $xenarch != amd64 ]; then @@ -122,10 +123,11 @@ do_hostcmp_unixbench_tests () { fi job_create_test \ - bench-hostcmp-unixbench-$xenarch-$sched bench-hostcmp-unixbench \ + bench-hostcmp-$bench-$xenarch-$sched bench-hostcmp-$bench \ xl $xenarch $dom0arch xen_boot_append="sched=$sched" max_bench_cpus=16 \ max_bench_mem=24576 $debian_runvars bios=seabios unixbench_params="-i 3" \ - debbenchhvm_image=debian-7.2.0-amd64-CD-1.iso all_hostflags=$most_hostflags + kernbench_params="-n 3" debbenchhvm_image=debian-7.2.0-amd64-CD-1.iso \ + all_hostflags=$most_hostflags } test_matrix_do_one () { @@ -134,7 +136,9 @@ test_matrix_do_one () { do_unixbench_tests $t $s 4 4096 # 4 vcpus, 4GB RAM do_kernbench_tests $t $s 4 4096 done - do_hostcmp_unixbench_tests $s + for b in unixbench kernbench; do + do_bench_hostcmp_tests $b $s + done done } diff --git a/sg-run-job b/sg-run-job index b16584a..1b3f4d6 100755 --- a/sg-run-job +++ b/sg-run-job @@ -388,28 +388,37 @@ proc run-job/bench-kernbench-hvm {} { bench-kernbench-guest debianhvm } -proc need-hosts/bench-hostcmp-unixbench {} { return {REBOOT host} } -proc run-job/bench-hostcmp-unixbench {} { +proc bench-hostcmp {bench} { # Run benchmark in a PV guest set g debbenchpv run-ts . = ts-debian-install + host $g run-ts . = ts-debian-fixup + host $g run-ts . = ts-bench-hostcmp-guest-prep + host $g - bench-unixbench-guest $g + bench-$bench-guest $g # Run benchmark in an HVM guest set g debbenchhvm run-ts . = ts-debian-hvm-install + host $g run-ts . = ts-guest-stop + host $g run-ts . = ts-bench-hostcmp-guest-prep + host $g - bench-unixbench-guest $g + bench-$bench-guest $g # Run benchmark on the host run-ts . = ts-bench-hostcmp-host-prep run-ts . = ts-host-reboot - bench-unixbench-host - run-ts . = ts-bench-hostcmp-post + host unixbench + bench-$bench-host + run-ts . = ts-bench-hostcmp-post + host $bench run-ts . = ts-host-reboot } +proc need-hosts/bench-hostcmp-unixbench {} { return {REBOOT host} } +proc run-job/bench-hostcmp-unixbench {} { + bench-hostcmp unixbench +} + +proc need-hosts/bench-hostcmp-kernbench {} { return {REBOOT host} } +proc run-job/bench-hostcmp-kernbench {} { + bench-hostcmp kernbench +} + #---------- builds ---------- proc need-hosts/build {} { return BUILD }