public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
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



  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