From: John Kacur <jkacur@redhat.com>
To: Valentin Schneider <vschneid@redhat.com>
Cc: linux-rt-users@vger.kernel.org, Clark Williams <williams@redhat.com>
Subject: Re: [PATCH] rteval: kcompile: Tweak default source tarball selection
Date: Mon, 2 May 2022 11:17:18 -0400 (EDT) [thread overview]
Message-ID: <bea14b39-5875-e180-a714-bc6ed7bf465@redhat.com> (raw)
In-Reply-To: <20220419162142.91470-1-vschneid@redhat.com>
On Tue, 19 Apr 2022, Valentin Schneider wrote:
> Kcompile._WorkloadSetup() looks for a "tarball" and "tarfile" entry in
> the CfgSection, but I couldn't find a single setter for thoses. The
> only way for a user to specify a file is via --kcompile-source, which
> doesn't seem to be actually used by the module.
>
> As it stands, this method will look for a tarball matching the
> hardcoded kernel_prefix.
>
> Make Kcompile
> - actually use --kcompile-source
> - use the latest tarball in the loadsource if no source is specified.
>
> Signed-off-by: Valentin Schneider <vschneid@redhat.com>
> ---
> I'm not entirely sure about that one, I tried to dig up the git
> history for uses of those "tarball" and "tarfile" options but didn't
> really get anywhere, so maybe I'm completely wrong...
> ---
> rteval/modules/loads/kcompile.py | 22 ++++++++++++++++------
> 1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
> index 367f8dc..2747913 100644
> --- a/rteval/modules/loads/kcompile.py
> +++ b/rteval/modules/loads/kcompile.py
> @@ -28,6 +28,7 @@ import sys
> import os
> import os.path
> import glob
> +import re
> import subprocess
> from rteval.modules import rtevalRuntimeError
> from rteval.modules.loads import CommandLineLoad
> @@ -35,7 +36,7 @@ from rteval.Log import Log
> from rteval.misc import expand_cpulist, compress_cpulist
> from rteval.systopology import SysTopology
>
> -kernel_prefix = "linux-5.13"
> +RE_KERNEL_TAR = re.compile(r"linux-(?P<maj>\d+)\.(?P<min>\d+).*\.tar.*")
>
> class KBuildJob:
> '''Class to manage a build job bound to a particular node'''
> @@ -163,18 +164,27 @@ class Kcompile(CommandLineLoad):
> return
>
> # find our source tarball
> - if 'tarball' in self._cfg:
> - tarfile = os.path.join(self.srcdir, self._cfg.tarfile)
> + if self._cfg.source:
> + tarfile = os.path.join(self.srcdir, self._cfg.source)
> if not os.path.exists(tarfile):
> raise rtevalRuntimeError(self, " tarfile %s does not exist!" % tarfile)
> self.source = tarfile
> else:
> - tarfiles = glob.glob(os.path.join(self.srcdir, "%s*" % kernel_prefix))
> + tarfiles = [f for f in os.listdir(self.srcdir)
> + if RE_KERNEL_TAR.match(f)]
> if tarfiles:
> - self.source = tarfiles[0]
> + # Use (one of) the most recent kernels
> + def verkey(f):
> + match = RE_KERNEL_TAR.match(f)
> + return (match.group("maj"), match.group("min"))
> +
> + tarfiles.sort(key=verkey)
> + self.source = tarfiles[-1]
> else:
> raise rtevalRuntimeError(self, " no kernel tarballs found in %s" % self.srcdir)
>
> + kernel_prefix = re.search(r"linux-\d\.\d", self.source).group(0)
> +
> # check for existing directory
> kdir = None
> names = os.listdir(self.builddir)
> @@ -322,7 +332,7 @@ class Kcompile(CommandLineLoad):
>
> def ModuleParameters():
> return {"source": {"descr": "Source tar ball",
> - "default": "linux-5.13.2.tar.xz",
> + "default": "",
> "metavar": "TARBALL"},
> "jobspercore": {"descr": "Number of working threads per core",
> "default": 2,
> --
> 2.27.0
I think we wanted to make sure we were doing an apples to apples
comparison, so we restricted the default kernel to the the one we supply
in rteval-loads. I am thinking of changing this in the future to using the
one supplied by the distribution, but still mulling this over.
However, --kcompile-source should work as advertised. Do you think you
could resend a patch with just the part to make --kcompile-source work
correctly?
Thanks
John
next prev parent reply other threads:[~2022-05-02 15:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-19 16:21 [PATCH] rteval: kcompile: Tweak default source tarball selection Valentin Schneider
2022-05-02 15:17 ` John Kacur [this message]
2022-05-03 10:27 ` Valentin Schneider
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=bea14b39-5875-e180-a714-bc6ed7bf465@redhat.com \
--to=jkacur@redhat.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=vschneid@redhat.com \
--cc=williams@redhat.com \
/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