From nobody Wed Nov 5 05:53:10 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1602095354; cv=none; d=zohomail.com; s=zohoarc; b=gM3wnmqHENHBZrGpXGHMcpqa5ll+OL8ETHSRom6Nf/yBRwlzyTclpfxVMHTaZsL4piFVv47U4K2G8WQCwtrmRkn3kV+MmF8TkhuGTAbi8ZTxpymrzh0VfjzliC8R4LjA4ihi3Bqj3O/mI8P3jlafhLYoHqqDCP9cHxWbuG+yq6U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602095354; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SO2cR46FfpQFV3d1FT1z1mlIyMwSd6iWMc7wYVokgRM=; b=JeTZH1QK10vclenHW72lQIBkY4yt2rEVHkWnXJ4HKogk6FAz+CXMlk3sUWNlIzM4IfoJv5+ndocJB6DgwAAiSc65KiNig0l1cU7COdzt73CJxlTn2hAwkfTLkCW/AnrbqJJy6CBYjP7MeOUy/mhjKTmr3vTJ2dY53XrhzK+5HeE= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1602095354152379.33810748567385; Wed, 7 Oct 2020 11:29:14 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.3771.11326 (Exim 4.92) (envelope-from ) id 1kQEBN-0006j9-25; Wed, 07 Oct 2020 18:28:57 +0000 Received: by outflank-mailman (output) from mailman id 3771.11326; Wed, 07 Oct 2020 18:28:56 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQEBM-0006i9-Cp; Wed, 07 Oct 2020 18:28:56 +0000 Received: by outflank-mailman (input) for mailman id 3771; Wed, 07 Oct 2020 18:28:54 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQE64-00072Q-Py for xen-devel@lists.xenproject.org; Wed, 07 Oct 2020 18:23:28 +0000 Received: from chiark.greenend.org.uk (unknown [2001:ba8:1e3::]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 029da054-f876-40dd-a094-2e3f3d07448a; Wed, 07 Oct 2020 18:21:29 +0000 (UTC) Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk) by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with esmtp (return-path ijackson@chiark.greenend.org.uk) id 1kQDk6-0007CF-BH; Wed, 07 Oct 2020 19:00:46 +0100 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1kQE64-00072Q-Py for xen-devel@lists.xenproject.org; Wed, 07 Oct 2020 18:23:28 +0000 Received: from chiark.greenend.org.uk (unknown [2001:ba8:1e3::]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 029da054-f876-40dd-a094-2e3f3d07448a; Wed, 07 Oct 2020 18:21:29 +0000 (UTC) Received: from [172.18.45.5] (helo=zealot.relativity.greenend.org.uk) by chiark.greenend.org.uk (Debian Exim 4.84_2 #1) with esmtp (return-path ijackson@chiark.greenend.org.uk) id 1kQDk6-0007CF-BH; Wed, 07 Oct 2020 19:00:46 +0100 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 029da054-f876-40dd-a094-2e3f3d07448a From: Ian Jackson To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Jackson Subject: [OSSTEST PATCH 52/82] host allocation: Group jobs by their reuse parameters Date: Wed, 7 Oct 2020 18:59:54 +0100 Message-Id: <20201007180024.7932-53-iwj@xenproject.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201007180024.7932-1-iwj@xenproject.org> References: <20201007180024.7932-1-iwj@xenproject.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ian Jackson This promotes reuse by arranging that jobs that can reuse a host get to run consecutively. Signed-off-by: Ian Jackson --- Osstest/JobDB/Executive.pm | 47 +++++++++++++++++++++++++++++++++++++ Osstest/JobDB/Standalone.pm | 2 ++ ts-host-reuse | 1 + ts-hosts-allocate-Executive | 4 ++++ 4 files changed, 54 insertions(+) diff --git a/Osstest/JobDB/Executive.pm b/Osstest/JobDB/Executive.pm index 30629572..8c235d45 100644 --- a/Osstest/JobDB/Executive.pm +++ b/Osstest/JobDB/Executive.pm @@ -389,6 +389,53 @@ END } } =20 +sub jobdb_set_hosts_infraprioritygroup ($$$$;$) { # method + my ($mo, $flight, $job, $group_key, $rref) =3D @_; + # Sets the runvar hosts_infraprioritygroup in $flight,$job + # The runvar values are NUM:GROUPKEY + # such that each GROUPKEY always has the same NUM, within the flight + # $rref is \%r (for use within a ts-*) or undef + + my $vn =3D 'hosts_infraprioritygroup'; + + my $queryq =3D $dbh_tests->prepare(<prepare(<execute($job, $flight, $vn); + while (my ($tjob, $tval, $thisjob) =3D $queryq->fetchrow_array()) { + if ($thisjob) { + logm("$vn: job is already in group $tval"); + return; + } + $tval =3D~ m/^(\d+)\:/ or die "$flight $job $tval ?"; + if ($' eq $group_key) { + $use =3D $1; + last; + } elsif ($1 >=3D $use) { + $use =3D $1 + 1; + } + } + $resulting =3D "$use:$group_key"; + logm("$vn: inserting job into group $resulting"); + $insertq->execute($flight,$job,$vn, $resulting); + }); + $rref->{$vn} =3D $resulting if $rref && defined $resulting; +} + sub jobdb_flight_started_for_log_capture ($$) { #method my ($mo, $flight) =3D @_; my $started=3D $dbh_tests->selectrow_array(<{Ident}, "reuse-$sharetype"); + $mjobdb->jobdb_set_hosts_infraprioritygroup($flight, $job, $sharetype,= \%r); } =20 sub act_start_test () { diff --git a/ts-hosts-allocate-Executive b/ts-hosts-allocate-Executive index fc107c08..a50f8bf3 100755 --- a/ts-hosts-allocate-Executive +++ b/ts-hosts-allocate-Executive @@ -733,9 +733,13 @@ sub alloc_hosts () { ? -10000 : -10 * @hids; =20 + my $infrapriority =3D + ($r{hosts_infraprioritygroup} // '') =3D~ m/^(\d+):/ ? $1 : undef; + my $ok =3D alloc_resources(WaitStart =3D> ($ENV{OSSTEST_RESOURCE_WAITSTART} || $fi->{started}), WaitStartAdjust =3D> $waitstartadjust, + InfraPriority =3D> $infrapriority, DebugFh =3D> \*DEBUG, \&attempt_allocation); =20 --=20 2.20.1