ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Fengguang Wu <fengguang.wu@intel.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: "ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] Fwd: Rough notes from testing unconference
Date: Sat, 23 Aug 2014 16:12:45 +0800	[thread overview]
Message-ID: <20140823081245.GA16949@localhost> (raw)
In-Reply-To: <CACxGe6vUXr_uqLG_98oAgbcjddsNgXWdGMrtJ8t23tQ1+z5iag@mail.gmail.com>

Hi all,

Sorry the conversation went too fast for me to jump in.
Hopefully it's not too late to have the below inputs.

On Fri, Aug 22, 2014 at 09:19:27AM -0500, Grant Likely wrote:
> Rough notes from the Testing discussion during the workshop day of
> Kernel Summit. Big thanks to Paul McKenney for writing all of this
> down.
> 
> g.
> 
> Testing session (unconference)
> 
> o       In-kernel or out of kernel?  Bisection?  Can do either way,
>         one approach is to have two clones of the git tree, and another
>         is to "git checkout" a specific version of the tools directory.

Yes. What I do when bisecting scripts/coccinelle static check errors
is to copy that directory out to some temp dir and use it as the
stable version to run.

> o       Levels of tests:  1) get a login prompt, 2) kselftest.
> 
> o       Should we have specified userspace?  No, quickly gets into
>         the distribution-building business.

FYI, in lkp-tests, "bin/setup-local job.yaml" does all the necessary
download, build, .deb creation and installation that's required for
running the given job file. Its source code is at

https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git

mmtests and autotest has similar installation capabilities.

> o       Will Deacon: Can script using busybox, inittab, and so on.
>         Can run trinity on such a setup.
> 
> o       Ted: Would be nice if other test frameworks built on top of
>         kselftest.  Therefore kselftest should not make any asssumptions.
> 
> o       Shua: Goal of kselftest isn't to create something new, but
>         rather to gather up what we already have.
> 
> o       Ted: Much of the code in tools/testing/selftest is unit tests
>         for a tiny part of the kernel.  These don't really belong
>         in LTP.
> 
> o       Olof: Let's not reinvent the test-infrastructure wheel.
> 
> o       Aneesh: Autotest.  Others: Lots of such tests, but lots of
>         different ones that are relatively difficult to set up.
> 
> o       Paul: Don't need rootfs.  rcutorture runs out of initrd.
> 
> o       Olof: Often easier just to write a script.
> 
> o       Ted: If we are going to lightweight, need to focus on kernel
>         unit tests.
> 
> o       What kind of tool can we depend on?  Busybox?  Just busybox,
>         has everything it needs.  (This means scripting must be in
>         dash.)
> 
> o       Arnd: klibc has its own set of binaries, cannot support
>         busybox.  Need libc.
> 
> o       Josh: Only C and standard C library supported.

lkp-tests currently depends on ruby to turn a job file into execution.
However it could be converted to shell script. Then there comes an
interesting question: will that make lkp-tests eligible for an
out-of-tree kselftest?

> o       Paul:  Host or guest?
> 
> o       Discussion: apparently need both.  Assume full-fledged distro
>         on host, minimal on guest/target.  UART, retrieve a file.
>         Some targets don't have persistent mass storage.
> 
> o       Grant:  Needs to work on separate hardware, on qemu, on
>         fast models.
> 
> o       Need stdio output, input optional (some tests take input
>         from kernel boot parameters.)

Same here: the lkp-tests post-processing scripts work on stdio output
of its test cases.

> o       How to parse success or failure?  How to know what to ignore?
>         Ted: What are high-level requirements rather than low-level
>         implementation?  Need host to easily parse the information
>         from the target on the host.
> 
> o       Mauro: Need something for performance tests as well.

lkp-tests is designed for performance tests.

LKP = Linux Kernel Performance.

In fact it runs every workload as performance/power tests, including
the functionality tests. For example, yesterday LKP reported an ext4
performance improvement when running xfstests:

        Re: [ext4] 71d4f7d0321: -49.6% xfstests.generic.274.seconds
        https://lkml.org/lkml/2014/8/21/726

> o       Ted: Group the tests.  "Quick" group.  Groups associated with
>         given function (e.g., suspend-resume).  Have profiles based
>         on types of tests needed and time allotted.
> 
> o       Josh: Add test types to the MAINTAINERS file.
> 
> o       Tim: Requirements around cross-building?  People make their
>         own?  We supply some in-tree?  We supply pointers to known
>         good cross-build toolchains?  Grant: "Yes".
> 
> o       Tim:  The need is to enable people who have never cross-built
>         in their life to successfully cross-build and test with
>         minimal effort.

Sorry I may missed some background: given the ktest and aiaiai tools
to help with cross-builds, what's the gap that we are discussing here?

> Next steps:  Grant to send call for volunteers for various efforts
>         to ksummit-discuss, interested people to reply.

We have a team behind lkp-tests actively running tests for all kernel
git trees we are aware of. We look forward to cooperate with everyone
to make it better at catching upstream regressions. Any tests you
would like to keep running for your subsystem, please let me know.

Performance/power tests are in particular suitable for being added
into lkp-tests -- it has very descriptive job file for running a workload
with different parameter sets. Together with elaborate statistics
collection and comparison capabilities, it allows people to catch
subtle changes between different kernels/kconfigs/test parameters.

Thanks,
Fengguang

> o       Josh: Can we pick an existing test output format that already
>         has tools, infrastructure, and so on.
> 
>         Tim: Hudson!
> 
>         Andy: PASS, FAIL, XFAIL, ...
> 
>         Shua: Must fit into the primary goal of being a good kernel
>         developer unit test.
> 
>         Ted: Proposed requirement: Simplest use case must have simple
>         tool that parses output.  Must not include a JRE for output
>         parsing.
> 
>         Tim: Must be human reasable.
> 
>         Andy: Must be short boilerplate, so that it can be generated
>         and read quickly.
> 
>         Paul: Willing to make reasonable adaptations to rcutorture output.
>         But it must not require an in-kernel JRE.
> 
>         Arnd: Would like self-test entry for drivers.
> 
>         Ben: Have seen similar things in other operating systems, would
>         be good in Linux.  Mauro: Would like to separate hardware and
>         software tests for drivers.   Arnd: Could be separate profile.
> _______________________________________________
> Ksummit-discuss mailing list
> Ksummit-discuss@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss

  parent reply	other threads:[~2014-08-23  8:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20140819163621.GA15109@linux.vnet.ibm.com>
2014-08-22 14:19 ` Grant Likely
2014-08-22 17:59   ` Shuah Khan
2014-08-22 18:08     ` Amit Kucheria
2014-08-28 21:54       ` Shuah Khan
2014-08-23 13:35     ` Bird, Tim
2014-08-23 21:12       ` Grant Likely
2014-08-30  1:09       ` [Ksummit-discuss] [kselftest] kselftest wiki (was RE: Fwd: Rough notes from testing unconference) Bird, Tim
2014-08-30  2:55         ` Shuah Khan
2014-08-30  5:15           ` Konstantin Ryabitsev
2014-08-23  8:12   ` Fengguang Wu [this message]
2014-08-24 17:12     ` [Ksummit-discuss] Fwd: Rough notes from testing unconference Grant Likely
2014-08-24 18:14       ` Guenter Roeck
2014-08-25  9:23         ` Grant Likely
2014-08-25 10:43           ` Guenter Roeck
2014-08-24 18:15       ` Geert Uytterhoeven
2014-08-24 18:37         ` Guenter Roeck
2014-08-24 18:47           ` Olof Johansson
2014-08-24 19:14             ` Jason Cooper
2014-08-24 19:16               ` Jason Cooper

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=20140823081245.GA16949@localhost \
    --to=fengguang.wu@intel.com \
    --cc=grant.likely@secretlab.ca \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    /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