From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH 11/27] make-bench-flight: to create a benchmarking flight Date: Wed, 10 Dec 2014 19:10:22 +0100 Message-ID: <20141210181022.26400.52391.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 This is all done in a new script, to keep these jobs separated from regular testing jobs defined by make-flight. Signed-off-by: Dario Faggioli Cc: Wei Liu Cc: Ian Campbell Cc: Ian Jackson --- README | 10 +++++ make-bench-flight | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100755 make-bench-flight diff --git a/README b/README index 3fe5ecc..45d1498 100644 --- a/README +++ b/README @@ -190,6 +190,16 @@ test-$XENARCH-$DOM0ARCH- Some tests also have a -$DOMUARCH suffix indicating the obvious thing. +bench-$BENCHNAME-$ARCH-- + + A benchmarking job, running benchmark $BENCHNAME on a $ARCH + hypervisor and dom0 (and guest). + + In the remainder of the job's name, tells something + about Xen's configuration (e.g., what scheduler will be used); + tells about the guest's configuration (e.g., whether + it's HVM or PV, number of vCPUs, RAM, etc.). + NB: $ARCH (and $XENARCH etc) are Debian arch names, i386, amd64, armhf. Standalone Mode diff --git a/make-bench-flight b/make-bench-flight new file mode 100755 index 0000000..cdb22ff --- /dev/null +++ b/make-bench-flight @@ -0,0 +1,100 @@ +#!/bin/bash + +# This is part of "osstest", an automated testing framework for Xen. +# Copyright (C) 2009-2014 Citrix Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +set -e + +branch=$1 +xenbranch=$2 +blessing=$3 +buildflight=$4 + +flight=`./cs-flight-create $blessing $branch` + +. ap-common +. cri-common +. mfi-common + +defsuite=`getconfig DebianSuite` +defguestsuite=`getconfig GuestDebianSuite` + +if [ x$buildflight = x ]; then + + if [ "x$BUILD_LVEXTEND_MAX" != x ]; then + BUILD_RUNVARS+=" build_lvextend_max=$BUILD_LVEXTEND_MAX " + fi + + create_build_jobs + +else + + bfi=$buildflight. + +fi + +job_create_test_filter_callback () { + : +} + +test_matrix_branch_filter_callback () { + : +} + +do_unixbench_tests () { + gvcpus=$1 + gmem=$2 + + # x86_64 only (for now) + if [ $xenarch != amd64 ]; then + return + fi + # "homogeneous" tests only (for now) + if [ $xenarch != $dom0arch ]; then + return + fi + + gvcpus_runvars=guests_vcpus=$gvcpus; gvcpus_suffix=-${gvcpus}vcpus + gmem_runvars=guests_memory=$gmem; gmem_suffix=-${gmem}ram + if [ $gvcpus -ge 2 ];then params="-c $(($gvcpus/2))"; fi + params="$params -c $gvcpus -c $(($gvcpus*2)) -i 6" + + for gt in pv hvm; do + for sched in credit credit2; do + job_create_test \ + bench-unixbench-$xenarch-$sched-$gt$gvcpus_suffix$gmem_suffix \ + bench-unixbench-$gt xl $xenarch $dom0arch $gvcpus_runvars $gmem_runvars \ + xen_boot_append="sched=$sched" unixbench_params="$params" $debian_runvars \ + bios=seabios debianhvm_image=debian-7.2.0-amd64-CD-1.iso \ + all_hostflags=$most_hostflags + done + done +} + +test_matrix_do_one () { + do_unixbench_tests 4 4096 # 4 vcpus, 4GB RAM +} + +test_matrix_iterate + +echo $flight + +# Local variables: +# mode: sh +# sh-basic-offset: 2 +# indent-tabs-mode: nil +# End: