All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nick Desaulniers" <ndesaulniers@google.com>
To: mathieu.acher@irisa.fr
Cc: Kevin Hilman <khilman@baylibre.com>,
	kernelci@groups.io,
	clang-built-linux <clang-built-linux@googlegroups.com>
Subject: Re: kci_build proposal
Date: Tue, 16 Jun 2020 09:33:20 -0700	[thread overview]
Message-ID: <CAKwvOdnaoaZPLqcn6yiFEpEVx=HmpRe1ExhLZfzLhHs7e7Atww@mail.gmail.com> (raw)
In-Reply-To: <18306.1590738124792037023@groups.io>

+ clang-built-linux

On Fri, May 29, 2020 at 12:42 AM Mathieu Acher <mathieu.acher@irisa.fr> wrote:
>
> Dear all,
>
> I'm glad to hear the ongoing effort about containerization (Docker + Python 3) of KernelCI.
> I didn't know the existence of tuxbuild and I'm as curious as Kevin for having more details.
>
> As an academic, we have some use cases that can further motivate the use of a "cloud-based solution".
> In 2017, we have developed TuxML (https://github.com/TuxML/ProjetIrma) which a solution with Docker and Python 3 for massively compiling kernel configurations.
> The "ml" part stands for statistical learning. So far, we have collected 200K+ configurations with a distributed computing infrastructure (a kind of cloud).
> Our focus is to explore the configuration space of the Linux kernel in the large; we fed several config files (mainly with randconfig and some pre-set options) and then perform some "tests" (in a broad sense).
>
> We have two major use cases:
>  * bug-finding related to configurations: we are able to locate faulty (combinations of) options and even prevent/fix some failures at the Kconfig level (more details here: https://hal.inria.fr/hal-02147012)
>  * size prediction of a configuration (without compiling it) and identificaton of options that influence size (more details here: https://hal.inria.fr/hal-02314830)

Hi Mathieu,
I'm focused on building the Linux kernel with Clang.  One of the
issues we're running into is long tail bug reports from configs beyond
defconfigs or the defconfigs from major Linux distros.  In particular,
randconfig builds tend to dig up all kinds of issues for us.  It can
also take time to differentiate whether this issue is
toolchain-agnostic or specific to Clang.

>From your presentation
https://static.sched.com/hosted_files/osseu19/ca/TuxML-OSS2019-v3.pdf
the slides on classification trees have me curious.  I suppose if you
had data from builds with GCC+Clang, you could help us spot what
configs are still problematic just for Clang and not for GCC?  That
kind of pattern analysis would be invaluable in trying to automate bug
finding.  Already the configuration space is unfathomable, and adding
yet another label (toolchain) doesn't help, but it is something that
could have a quantifiable impact and really help.

If it's something that you have capacity for, let's chat more?

>
> In both cases, we need an infrastructure capable of compiling *any* configuration of the kernel.
> For measuring the size, we need to control all factors, like gcc version and so forth. Docker was helpful here to have a canonical environment.
> One issue we found is to build the right Docker image: some configurations of the kernel require specific tools and anticipating all can be tricky, leading to some false-positive failures.
> Have you encountered this situation?
>
> In general, my colleagues at University of Rennes 1/Inria and I are really interested to be part of this new effort through discussions or technical contributions.
> We plan to modernize TuxML with KernelCI toolchain, especially if it's possible to deploy it on several distributed machines.
>
> Can I somehow participate in the next call? Mainly to learn and as a first step to contribute in this very nice project.
>
> Best,
>
> Mathieu Acher
>
>
>
> 
>


-- 
Thanks,
~Nick Desaulniers

  parent reply	other threads:[~2020-06-16 16:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-20 16:36 kci_build proposal Dan Rue
2020-04-21 15:46 ` Guillaume Tucker
2020-04-21 15:53   ` Mark Brown
2020-04-21 17:32     ` Dan Rue
2020-04-21 17:28   ` Dan Rue
2020-05-22 18:22     ` Kevin Hilman
2020-05-27 19:58       ` Dan Rue
2020-05-28  6:43         ` Guillaume Tucker
2020-05-28 17:28           ` Dan Rue
2020-05-28 21:03             ` Guillaume Tucker
2020-05-29 15:53               ` Dan Rue
2020-06-15 13:22                 ` "Audience"/"Guest" can join for this meeting running on 23rd? koti koti
2020-06-16 16:16                   ` Mark Brown
2020-06-17  1:49                     ` koti koti
2020-06-17 10:31                       ` Mark Brown
2020-06-17 10:55                         ` koti koti
2020-05-28 23:31             ` kci_build proposal Kevin Hilman
2020-05-29  7:42               ` Mathieu Acher
2020-05-29 10:44                 ` Mark Brown
2020-05-29 14:27                 ` Guillaume Tucker
2020-06-16 16:33                 ` Nick Desaulniers [this message]
2020-06-23  7:28                   ` Mathieu Acher
2020-06-23 23:48                     ` Nick Desaulniers

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='CAKwvOdnaoaZPLqcn6yiFEpEVx=HmpRe1ExhLZfzLhHs7e7Atww@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=kernelci@groups.io \
    --cc=khilman@baylibre.com \
    --cc=mathieu.acher@irisa.fr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.