Coder Social home page Coder Social logo

kernelci-project's Introduction

KernelCI project logo

KernelCI project

KernelCI is a Linux Foundation project dedicated to testing the upstream Linux kernel.

Mission statement:

To ensure the quality, stability and long-term maintenance of the Linux kernel by maintaining an open ecosystem around test automation practices and principles.

This repository contains general documentation about the project.

kernelci.org static website

The source code of the kernelci.org static website is contained in the kernelci.org directory. It uses the Hugo framework.

To set up a local development server with Docker:

$ git clone https://github.com/kernelci/kernelci-project.git
$ cd kernelci-project
$ sudo apt install -y git-lfs
$ git-lfs fetch
$ git-lfs checkout
$ git submodule update --init --recursive
$ cd kernelci.org

Then to start the server:

$ docker run -v $PWD:/src -p 1313:1313 klakegg/hugo:0.80.0-ext-debian server -D

Alternatively, this can be started with docker-compose:

docker-compose up

Then open http://localhost:1313 in your browser.

Secrets and git-crypt

The secrets directory contains encrypted files with credentials used by the KernelCI project. See the Secrets page for more details about how it is used.

kernelci-project's People

Contributors

10ne1 avatar a-wai avatar alexandrasp avatar aliceinwire avatar broonie avatar dzickusrh avatar gctucker avatar glunardi avatar jenysadadia avatar markfilion avatar nuclearcat avatar padovan avatar patersonc avatar spbnick avatar staging-kernelci-org avatar vincehillier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kernelci-project's Issues

Fix warning in kselftest/futex Makefile when more than one build job is used (-j 12)

make[1]: Entering directory '/home/usama/repos/kernel/linux_mainline/tools/testing/selftests/futex'
make[2]: Entering directory '/home/usama/repos/kernel/linux_mainline/tools/testing/selftests/futex'
make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.

Found by KernelCI: https://storage.kernelci.org/renesas/master/renesas-devel-2022-01-11-v5.16/x86_64/x86_64_defconfig+x86-chromebook+kselftest/gcc-10/logs/kselftest.log

`eac6f3841f1d` SMT in ASYM_PACKING load balance

next/master bisection: baseline.login on rk3328-rock64

Summary:
  Start:      2d02a18f75fc Add linux-next specific files for 20210929
  Plain log:  https://storage.kernelci.org/next/master/next-20210929/arm64/defconfig+CONFIG_RANDOMIZE_BASE=y/gcc-8/lab-baylibre/baseline-rk3328-rock64.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20210929/arm64/defconfig+CONFIG_RANDOMIZE_BASE=y/gcc-8/lab-baylibre/baseline-rk3328-rock64.html
  Result:     eac6f3841f1d sched/fair: Consider SMT in ASYM_PACKING load balance

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     rk3328-rock64
  CPU arch:   arm64
  Lab:        lab-baylibre
  Compiler:   gcc-8
  Config:     defconfig+CONFIG_RANDOMIZE_BASE=y
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit eac6f3841f1dac7b6f43002056b63f44cc1f1543
Author: Ricardo Neri <[email protected]>
Date:   Fri Sep 10 18:18:19 2021 -0700

    sched/fair: Consider SMT in ASYM_PACKING load balance

Prepare user stories

Once all the "raw" user stories have been collected from users, they need to be prepared in order to be usable for creating specifications for a new web dashboard. This includes removing or grouping duplicates, formatting them using a common template and potentially clarifying any ambiguity with them by checking with the users who submitted them.

Here's a good description of what user stories are, from Agile methodology:
https://www.atlassian.com/agile/project-management/user-stories

In particular, here's a common format:

โ€œAs a [persona], I [want to], [so that].โ€

For example:

As a maintainer, I need to see results for my subsystem, so that I can find out about regressions.

Add more kernel-core kselftests to KernelCI

Check the collection of [[https://elixir.bootlin.com/linux/v5.15/source/tools/testing/selftests | kselftests]] and look for some of them that cover core kernel features (general features, platform-agnostic) that aren't in KernelCI yet.

Goals:

  • read about the kselftest collection and pick up some kernel-core tests
  • investigate how they work, test them locally if possible
  • enable them in KernelCI for as many Chromebook types as possible
  • check the test results, debug if necessary

`dc9166f1253df` Alert: "Setting adjustable number of callback queues."

next/master bisection: baseline.dmesg.alert on qemu_arm64-virt-gicv3

Summary:
  Start:      f30a24ed97b40 Add linux-next specific files for 20211126
  Plain log:  https://storage.kernelci.org/next/master/next-20211126/arm64/defconfig+CONFIG_ARM64_64K_PAGES=y/clang-13/lab-collabora/baseline-qemu_arm64-virt-gicv3.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20211126/arm64/defconfig+CONFIG_ARM64_64K_PAGES=y/clang-13/lab-collabora/baseline-qemu_arm64-virt-gicv3.html
  Result:     dc9166f1253df rcu-tasks: Use more callback queues if contention encountered

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     qemu_arm64-virt-gicv3
  CPU arch:   arm64
  Lab:        lab-collabora
  Compiler:   clang-13
  Config:     defconfig+CONFIG_ARM64_64K_PAGES=y
  Test case:  baseline.dmesg.alert

Breaking commit found:

-------------------------------------------------------------------------------
commit dc9166f1253df20e01b0132ece22efaeb5b0a7e0
Author: Paul E. McKenney <[email protected]>
Date:   Wed Nov 24 15:12:15 2021 -0800

    rcu-tasks: Use more callback queues if contention encountered

KernelCI logo usage guidelines

The KernelCI logo is protected by a trademark and the KernelCI Linux Foundation project owns all the rights on it. We now need to define guidelines to enable members of the public to reuse it. The key aspect is to make it clear that the logo can be used in content related to KernelCI (blog post, article, video, slides...) while protecting it from any form of abuse. We may allow both a full version including the KernelCI name as well as a square version with just the logo, as long as such guidelines can be defined in a practical way and without affecting the trademark's protection.

`2af07f3a6e9f` panic on x86_64

Summary:
  Start:      bc5aa70f2699 Add linux-next specific files for 20210923
  Plain log:  https://storage.kernelci.org/next/master/next-20210923/x86_64/x86_64_defconfig/clang-12/lab-collabora/baseline-minnowboard-turbot-E3826.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20210923/x86_64/x86_64_defconfig/clang-12/lab-collabora/baseline-minnowboard-turbot-E3826.html
  Result:     2af07f3a6e9f x86/fpu/signal: Change return type of copy_fpregs_to_sigframe() helpers to boolean

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     minnowboard-turbot-E3826
  CPU arch:   x86_64
  Lab:        lab-collabora
  Compiler:   clang-12
  Config:     x86_64_defconfig
  Test case:  baseline.login

Remove warning while building selftest/futex with compressed file creation

make -C tools/testing/selftests gen_tar -j 32
make[1]: Entering directory '/tmp/kci/linux/tools/testing/selftests/futex'
make[2]: Entering directory '/tmp/kci/linux/tools/testing/selftests/futex/functional'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/kci/linux/tools/testing/selftests/futex/functional'
mkdir -p /tmp/kci/linux/build/kselftest/kselftest_install/futex
install -t /tmp/kci/linux/build/kselftest/kselftest_install/futex run.sh  
make[2]: Entering directory '/tmp/kci/linux/tools/testing/selftests/futex'
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
rsync -a run.sh /tmp/kci/linux/build/kselftest/kselftest_install/futex/functional/

Reference: https://storage.staging.kernelci.org/kernelci/staging-next/staging-next-20220301.0/x86_64/x86_64_defconfig+x86-chromebook+kselftest/gcc-10/logs/kselftest.log

sub tests of lkdtm kselftest are failing

lkdtm kselftest has several sub tests. The following subtests are failing:

Sub test Failure reason Comment Action
ARRAY_BOUNDS.sh Missing UBSAN config Investigation Patches sent and accepted
SLAB_LINEAR_OVERFLOW.sh Missing KASAN in selftest/lkdtm/config Patch sent and rejected I'd enabled KASAN to fix this. But it wasn't accepted and different options were asked to by tried which weren't got successful in getting this test pass.
READ_AFTER_FREE.sh and READ_BUDDY_AFTER_FREE.sh Missing INIT_ON_FREE_DEFAULT_ON in selftest/lkdtm/config Patch accepted
USERCOPY_STACK_FRAME_TO.sh and USERCOPY_STACK_FRAME_FROM.sh Need HARDENED_USERCOPY config Still failing after enabling this config. This tests try to copy data to and from some other function's stack. copy_to_user/copy_from_user should trigger a crash. But the crash isn't being triggered. Reported and patch from author 1 2
STACKLEAK_ERASING.sh GCC_PLUGIN_STACKLEAK is needed and gcc-10-plugins-dev is needed Investigation [Patch accepted](Patch accepted). kernelci/kernelci-core#1041 has been fixed as well.
FORTIFIED_SUBOBJECT.sh FORTIFY_SOURCE is needed which is gcc dependent Investigation, Comment, Comment Reported, the original author decided to roll back to strncpy
CFI_FORWARD_PROTO.sh Probably CONFIG_CFI_CLANG is needed which is clang dependent Enabling CONFIG_CFI_CLANG is confusing. It depends on a lot of other config options and compiler version/binaries. A strange thing is that KASAN needs to turned off for this config to turn on. If we turn off KASAN, SLAB_LINEAR_OVERFLOW.sh will fail. It seems like one test can work correctly with one type of config. The author of this test commented. Patch sent and rejected This test works only on one archotecture. Leave it enabled for now.

Example link to find failures:
https://linux.kernelci.org/test/job/mainline/branch/master/kernel/v5.16-5221-gfe8152b38d3a/plan/kselftest-lkdtm/

Fix Build of selftests/interpreter

make[1]: Entering directory '/tmp/kci/linux/tools/testing/selftests/interpreter'
ccache gcc -Wall -O2 -I../../../../usr/include    trust_policy_test.c -lcap -o /tmp/kci/linux/build/kselftest/interpreter/trust_policy_test
trust_policy_test.c:14:10: fatal error: linux/trusted-for.h: No such file or directory
   14 | #include <linux/trusted-for.h>
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Reference: https://storage.staging.kernelci.org/kernelci/staging-next/staging-next-20220301.0/x86_64/x86_64_defconfig+x86-chromebook+kselftest/gcc-10/logs/kselftest.log

Fix Makefile error in selftests/exec makefile

make kselftest at the root directory of the linux kernel builds and runs all the kselftests. The exec tests build fails because of the mentioned erorr. So it isn't run.

make[1]: Entering directory '/home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec'
gcc -Wall -Wno-nonnull -D_GNU_SOURCE    execveat.c  -o /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/execveat
gcc -Wall -Wno-nonnull -D_GNU_SOURCE  -Wl,-z,max-page-size=0x1000 -pie -static load_address.c -o /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/load_address_4096
gcc -Wall -Wno-nonnull -D_GNU_SOURCE  -Wl,-z,max-page-size=0x200000 -pie -static load_address.c -o /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/load_address_2097152
gcc -Wall -Wno-nonnull -D_GNU_SOURCE  -Wl,-z,max-page-size=0x1000000 -pie -static load_address.c -o /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/load_address_16777216
gcc -Wall -Wno-nonnull -D_GNU_SOURCE    recursion-depth.c  -o /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/recursion-depth
echo '#!/bin/sh' > /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/script
mkdir -p /home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/subdir
make[1]: *** No rule to make target '/home/usama/repos/kernel/linux_mainline/tools/testing/selftests/exec/pipe', needed by 'all'.  Stop.
make[1]: *** Waiting for unfinished jobs....

Found by KernelCI: https://storage.kernelci.org/renesas/master/renesas-devel-2022-01-11-v5.16/x86_64/x86_64_defconfig+x86-chromebook+kselftest/gcc-10/logs/kselftest.log

`d1eccc4f44f11` boot failure on omap4-panda on Ard's tree

ardb/for-kernelci bisection: baseline.login on panda

Summary:
  Start:      d1eccc4f44f11 ARM: implement support for vmap'ed stacks
  Plain log:  https://storage.kernelci.org/ardb/for-kernelci/v5.16-rc1-16-gd1eccc4f44f1/arm/multi_v7_defconfig+crypto/gcc-10/lab-collabora/baseline-panda.txt
  HTML log:   https://storage.kernelci.org/ardb/for-kernelci/v5.16-rc1-16-gd1eccc4f44f1/arm/multi_v7_defconfig+crypto/gcc-10/lab-collabora/baseline-panda.html
  Result:     d1eccc4f44f11 ARM: implement support for vmap'ed stacks

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       ardb
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git
  Branch:     for-kernelci
  Target:     panda
  CPU arch:   arm
  Lab:        lab-collabora
  Compiler:   gcc-10
  Config:     multi_v7_defconfig+crypto
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit d1eccc4f44f11a8f3f5d376f08e3779d2196f93a
Author: Ard Biesheuvel <[email protected]>
Date:   Thu Sep 23 09:15:53 2021 +0200

    ARM: implement support for vmap'ed stacks

`5949965ec934 x86/PCI` Preserve host bridge windows completely covered by E820

next/master bisection: baseline.login on asus-C523NA-A20057-coral

Summary:
  Start:      f8833a2b2356 Add linux-next specific files for 20220322
  Plain log:  https://storage.kernelci.org/next/master/next-20220322/x86_64/x86_64_defconfig+x86-chromebook/gcc-10/lab-collabora/baseline-asus-C523NA-A20057-coral.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20220322/x86_64/x86_64_defconfig+x86-chromebook/gcc-10/lab-collabora/baseline-asus-C523NA-A20057-coral.html
  Result:     5949965ec934 x86/PCI: Preserve host bridge windows completely covered by E820

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     asus-C523NA-A20057-coral
  CPU arch:   x86_64
  Lab:        lab-collabora
  Compiler:   gcc-10
  Config:     x86_64_defconfig+x86-chromebook
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit 5949965ec9340cfc0e65f7d8a576b660b26e2535
Author: Bjorn Helgaas [<[email protected]>](mailto:[email protected])
Date:   Thu Mar 3 18:03:30 2022 -0600

config fragment should list all dependent config options

merge_config.sh doesn't produce desired results when a config fragment doesn't list all dependencies

Example:
tools/testing/selftests/lkdtm/config has the following config related to UBSAN:

CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_TRAP=y

These two configs depend on CONFIG_UBSAN. When the parent config doesn't have CONFIG_UBSAN enabled, these two configs are ignored with the following error.

merge_config.sh .config source/tools/testing/selftests/lkdtm/config
Value requested for CONFIG_UBSAN_BOUNDS not in final .config
Requested value:  CONFIG_UBSAN_BOUNDS=y
Actual value:     

Value requested for CONFIG_UBSAN_TRAP not in final .config
Requested value:  CONFIG_UBSAN_TRAP=y
Actual value:

The desired result is to have CONFIG_UBSAN and these two configs enabled in this case which is only possible if CONFIG_UBSAN was also present in tools/testing/selftests/lkdtm/config.

The problem has been caught by manually running the merge_config.sh tool. At the moment, ./kci_build make_config isn't emitting this kind of warning. It should have emitted the same warnings as it also uses themerge_config.sh tool to merge the config.

Solution:
All config fragments should list all dependent config options. For now, I'm facing issues with selftest/.../config files (`selftest/lkdtm/config in particular). They should be fixed in the kernel to include the dependent config options.

Enable HTTPs caching for rootfs builders

We're working on adding support for V4L2 decoder tests in KernelCI and we are using fluster to download publicly available test vectors and run the conformance tests. The test vectors are downloaded from different providers (e.g. Webm git, ITU servers - full list is here) and they need to be stored in the rootfs.

Would it be possible to enable HTTP(s) caching (e.g. in the KernelCI server where the rootfs images are created or in a server on the same network) and make it available to the rootfs builders? This would speed up the rootfs build process and compensate for any instability in the servers that provide the test vectors.

`98e48cd9283d` dwmmc_rockchip-sdmmc-probed (stable)

stable/linux-5.4.y bisection: baseline.bootrr.dwmmc_rockchip-sdmmc-probed on rk3288-veyron-jaq

Summary:
  Start:      3a7dc5b4cfbd Linux 5.4.150
  Plain log:  https://storage.kernelci.org/stable/linux-5.4.y/v5.4.150/arm/multi_v7_defconfig/gcc-8/lab-collabora/baseline-rk3288-veyron-jaq.txt
  HTML log:   https://storage.kernelci.org/stable/linux-5.4.y/v5.4.150/arm/multi_v7_defconfig/gcc-8/lab-collabora/baseline-rk3288-veyron-jaq.html
  Result:     c4e10f92c319 regulator: core: resolve supply for boot-on/always-on regulators

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       stable
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
  Branch:     linux-5.4.y
  Target:     rk3288-veyron-jaq
  CPU arch:   arm
  Lab:        lab-collabora
  Compiler:   gcc-8
  Config:     multi_v7_defconfig
  Test case:  baseline.bootrr.dwmmc_rockchip-sdmmc-probed

Breaking commit found:

-------------------------------------------------------------------------------
commit c4e10f92c31983d7da0a9f9a281ece1c3da501c1
Author: Dmitry Baryshkov <[email protected]>
Date:   Thu May 20 01:12:23 2021 +0300

    regulator: core: resolve supply for boot-on/always-on regulators
    
    commit 98e48cd9283dbac0e1445ee780889f10b3d1db6a upstream.

Gather user stories

The first step is to gather as many user stories as possible, even if they are not well formatted. There has been an email thread and a GitHub discussion for this already. Once there doesn't seem to be any more user stories to be added, this issue can be closed and the next step can start (triaging, formatting, curating the user stories).

kselftest Makefiles don't support separate output directory build

Kselftest Makefiles have hard-coded paths. Out of tree build of kselftest fails of some tests if they depend on latest uapi in tree headers.

To reproduce:
Run make -C tools/testing/selftests/ O=<build_dir> inside kernel top most directory. The build of some tests will get fail in this way.

Workaround:
Either build kselftests in tree in same directory or build kselftest from the build directory with slightly changed command, make -C source/tools/testing/selftests.

Trogdor: memory overlap in dts

Warning seen in some kernelci jobs:

Kernel versions: v5.17-rc2 and v5.17-rc3

  [    0.000000] OF: reserved mem: OVERLAP DETECTED!
  [    0.000000] memory@86000000 (0x0000000086000000--0x000000008ec00000) overlaps with memory@8b700000 (0x000000008b700000--0x000000008b710000)
  [    0.000000] earlycon: qcom_geni0 at MMIO 0x0000000000a88000 (options '115200n8')
  [    0.000000] ------------[ cut here ]------------
  [    0.000000] console 'qcom_geni0' already registered
  [    0.000000] WARNING: CPU: 0 PID: 0 at kernel/printk/printk.c:2953 register_console+0x58/0x2a4
  [    0.000000] Modules linked in:
  [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.17.0-rc2 #1
  [    0.000000] Hardware name: Google Lazor Limozeen without Touchscreen (rev5 - rev8) (DT)

Preliminary investigation:

sc7180-trogdor.dtsi (included: sc7180-trogdor-lazo-limozeen-nots-r5.dts -> sc7180-trogdor-lazor.dtsi) defines a memory region mpss_mem:

	reserved-memory {
		...

		mpss_mem: memory@86000000 {
			reg = <0x0 0x86000000 0x0 0x2000000>;
			no-map;
		};

that goes from 0x86000000 to 0x88000000. This is later overriden in sc7180-trogdor-lte-sku.dtsi:

&mpss_mem {
	reg = <0x0 0x86000000 0x0 0x8c00000>;
};

and now that region (0x86000000 - 0x8ec00000) overlaps the ipa_fw_mem reserved memory region defined in sc7180.dtsi.

`8c3d64251ac5` phy-rockchip-inno-usb2

Summary:
  Start:      58e2cf5d7946 init: Revert accidental changes to print irqs_disabled()
  Plain log:  https://storage.kernelci.org/mainline/master/v5.15-rc2-51-g58e2cf5d7946/arm64/defconfig/gcc-8/lab-collabora/baseline-rk3399-gru-kevin.txt
  HTML log:   https://storage.kernelci.org/mainline/master/v5.15-rc2-51-g58e2cf5d7946/arm64/defconfig/gcc-8/lab-collabora/baseline-rk3399-gru-kevin.html
  Result:     8c3d64251ac5 arm64: dts: rockchip: rename nodename for phy-rockchip-inno-usb2

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       mainline
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Branch:     master
  Target:     rk3399-gru-kevin
  CPU arch:   arm64
  Lab:        lab-collabora
  Compiler:   gcc-8
  Config:     defconfig
  Test case:  baseline.bootrr.rockchip-usb2phy1-probed

`ea718c699055` mtk-mmsys-probed

Summary:
  Start:      8211999fc64c mmc: mmci: Add small comment about reset thread
  Plain log:  https://storage.kernelci.org/ulfh/next/v5.15-rc1-29-g8211999fc64c/arm64/defconfig/gcc-8/lab-collabora/baseline-mt8173-elm-hana.txt
  HTML log:   https://storage.kernelci.org/ulfh/next/v5.15-rc1-29-g8211999fc64c/arm64/defconfig/gcc-8/lab-collabora/baseline-mt8173-elm-hana.html
  Result:     ea718c699055 Revert "Revert "driver core: Set fw_devlink=on by default""

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       ulfh
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git
  Branch:     next
  Target:     mt8173-elm-hana
  CPU arch:   arm64
  Lab:        lab-collabora
  Compiler:   gcc-8
  Config:     defconfig
  Test case:  baseline.bootrr.clk-mt8173-mm-probed

Grunt chromebooks randomly fail to exit S3 sleep

Grunt Chromebooks are supposed to support S3 sleep. It works most of the time (using rtcwake) but sometimes waking up from sleep looks like a regular boot instead. It might be very hard to debug, though, since the issue seems to be non-deterministic.

Example of a successful sleep test: https://lava.collabora.co.uk/scheduler/job/5426843

hip07-d05 regression in v5.10

A regression causing the hip07-d05 platform to fail to boot was introduced between v5.4 and v5.10. There doesn't appear to be a clear bisection result, only one email report was sent but it hasn't been manually investigated yet:

mainline/master bisection: baseline.login on hip07-d05

Summary:
  Start:      d6f9469a03d8 Merge tag 'erofs-for-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs
  Plain log:  https://storage.kernelci.org/mainline/master/v5.7-3827-gd6f9469a03d8/arm64/defconfig/gcc-8/lab-collabora/baseline-hip07-d05.txt
  HTML log:   https://storage.kernelci.org/mainline/master/v5.7-3827-gd6f9469a03d8/arm64/defconfig/gcc-8/lab-collabora/baseline-hip07-d05.html
  Result:     2ba3e6947aed mm/vmalloc: track which page-table levels were modified

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       mainline
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Branch:     master
  Target:     hip07-d05
  CPU arch:   arm64
  Lab:        lab-collabora
  Compiler:   gcc-8
  Config:     defconfig
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit 2ba3e6947aed9bb9575eb1603c0ac6e39185d32a
Author: Joerg Roedel [<[email protected]>](mailto:[email protected])
Date:   Mon Jun 1 21:52:22 2020 -0700

    mm/vmalloc: track which page-table levels were modified

`9ce9a02039de` pinctrl/rockchip: drop the gpio related codes

mainline/master bisection: baseline.login on rk3288-veyron-jaq

Summary:
  Start:      7d42e9818258 Merge tag 'gpio-fixes-for-v5.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
  Plain log:  https://storage.kernelci.org/mainline/master/v5.15-rc2-159-g7d42e9818258/arm/multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y/gcc-8/lab-collabora/baseline-rk3288-veyron-jaq.txt
  HTML log:   https://storage.kernelci.org/mainline/master/v5.15-rc2-159-g7d42e9818258/arm/multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y/gcc-8/lab-collabora/baseline-rk3288-veyron-jaq.html
  Result:     9ce9a02039de pinctrl/rockchip: drop the gpio related codes

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       mainline
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Branch:     master
  Target:     rk3288-veyron-jaq
  CPU arch:   arm
  Lab:        lab-collabora
  Compiler:   gcc-8
  Config:     multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit 9ce9a02039de72ec8af1bd4bff14f1780337ffcc
Author: Jianqun Xu <[email protected]>
Date:   Mon Aug 16 09:21:46 2021 +0800

    pinctrl/rockchip: drop the gpio related codes
    
    With the patch to separate the gpio driver from the pinctrl driver, now
    the pinctrl-rockchip can drop the gpio related codes now.
    
    Signed-off-by: Jianqun Xu <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Linus Walleij <[email protected]>

`675c496d0f92b` Unexpected kernel BRK exception at EL1

mainline/master bisection: baseline.login on rk3328-rock64

Summary:
  Start:      75fcbd38608c3 Merge tag 'perf-tools-fixes-for-v5.15-2021-10-31' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
  Plain log:  https://storage.kernelci.org/mainline/master/v5.15-rc7-240-g75fcbd38608c/arm64/defconfig/gcc-10/lab-baylibre/baseline-rk3328-rock64.txt
  HTML log:   https://storage.kernelci.org/mainline/master/v5.15-rc7-240-g75fcbd38608c/arm64/defconfig/gcc-10/lab-baylibre/baseline-rk3328-rock64.html
  Result:     675c496d0f92b clk: composite: Also consider .determine_rate for rate + mux composites

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       mainline
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Branch:     master
  Target:     rk3328-rock64
  CPU arch:   arm64
  Lab:        lab-baylibre
  Compiler:   gcc-10
  Config:     defconfig
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit 675c496d0f92b481ebe4abf4fb06eadad7789de6
Author: Martin Blumenstingl <[email protected]>
Date:   Sat Oct 16 12:50:21 2021 +0200

    clk: composite: Also consider .determine_rate for rate + mux composites

`d00e60ee54b12` rk3288 LPAE boot failure

mainline/master bisection: baseline.login on rk3288-rock2-square

Summary:
  Start:      e851dfae4371d Merge tag 'kgdb-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux
  Plain log:  https://storage.kernelci.org/mainline/master/v5.15-11387-ge851dfae4371/arm/multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y/gcc-10/lab-collabora/baseline-rk3288-rock2-square.txt
  HTML log:   https://storage.kernelci.org/mainline/master/v5.15-11387-ge851dfae4371/arm/multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y/gcc-10/lab-collabora/baseline-rk3288-rock2-square.html
  Result:     d00e60ee54b12 page_pool: disable dma mapping support for 32-bit arch with 64-bit DMA

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       mainline
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  Branch:     master
  Target:     rk3288-rock2-square
  CPU arch:   arm
  Lab:        lab-collabora
  Compiler:   gcc-10
  Config:     multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit d00e60ee54b12de945b8493cf18c1ada9e422514
Author: Yunsheng Lin <[email protected]>
Date:   Wed Oct 13 17:19:20 2021 +0800

    page_pool: disable dma mapping support for 32-bit arch with 64-bit DMA

Build of kselftests fails if separate output directory is specified as relative path through kernel's top most Makefile

Kernel's build works fine if a relative or absolute path is specified as output directories:

make O=build
make O=/opt/build

It may be the subconscious demand of developers that kselftest build should also work the same way. Build of kselftests works fine when output directory's path is absolute:

make kselftest O=/opt/build

But build of kselftest fails if a path is specified which is the sub directory of the topmost Makefile:

make kselftest O=build V=1 or make kselftest O=/abcd/build V=1
make -C /home/usama/repos/kernel/linux_mainline2/build -f /home/usama/repos/kernel/linux_mainline2/Makefile kselftest
make[1]: Entering directory '/home/usama/repos/kernel/linux_mainline2/build'
make -C ../tools/testing/selftests run_tests
make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \
	ARCH=x86 -C ../../.. headers_install
make[3]: Entering directory '/home/usama/repos/kernel/linux_mainline2'
Makefile:1080: ../scripts/Makefile.extrawarn: No such file or directory
make[3]: *** No rule to make target '../scripts/Makefile.extrawarn'.  Stop.
make[3]: Leaving directory '/home/usama/repos/kernel/linux_mainline2'
make[2]: *** [Makefile:158: khdr] Error 2
make[1]: *** [/home/usama/repos/kernel/linux_mainline2/Makefile:1417: kselftest] Error 2
make[1]: Leaving directory '/home/usama/repos/kernel/linux_mainline2/build'
make: *** [Makefile:226: __sub-make] Error 2

`721fb891ad0b` mm/page_isolation boot failure with 64K pages

next/master bisection: baseline.login on qemu_arm64-virt-gicv3-uefi

Summary:
  Start:      3770333b3f8c Add linux-next specific files for 20220106
  Plain log:  https://storage.kernelci.org/next/master/next-20220106/arm64/defconfig+CONFIG_ARM64_64K_PAGES=y/gcc-10/lab-collabora/baseline-qemu_arm64-virt-gicv3-uefi.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20220106/arm64/defconfig+CONFIG_ARM64_64K_PAGES=y/gcc-10/lab-collabora/baseline-qemu_arm64-virt-gicv3-uefi.html
  Result:     075782149abf mm/page_isolation: unset migratetype directly for non Buddy page

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     qemu_arm64-virt-gicv3-uefi
  CPU arch:   arm64
  Lab:        lab-collabora
  Compiler:   gcc-10
  Config:     defconfig+CONFIG_ARM64_64K_PAGES=y
  Test case:  baseline.login

Breaking commit found:

-------------------------------------------------------------------------------
commit 075782149abff45ee22f27315eced44d02b96779
Author: Chen Wandun <[email protected]>
Date:   Thu Dec 30 20:28:40 2021 +1100

    mm/page_isolation: unset migratetype directly for non Buddy page

Move missing content over from foundation website

Currently only the "foundation" site details that the project is funded and can be joined.

We should add information about project membership to the static site as well in the organization section.

  • #47 with Membership/Members page
  • #48 (info)
  • #47 Add mission and objectives information (info)
  • #50 #52 Move news over to static website
  • #50 #52
  • Update links to foundation.kernelci.org to point to new static website
  • Decommission/archive old website

Failing tests in igt-gpu-amd

The igt-gpu-amd test plan is being added by kernelci/kernelci-core#890, but there are still some failing tests which look like either bugs in the amdgpu driver or in the tests themselves. The failing tests are:

amd_bypass.8bpc-bypass-mode
amd_color.crtc-lut-accuracy
amd_info.query-timestamp
amd_info.query-timestamp-while-idle

The failure logs are the following:

8bpc-bypass-mode test:

(amd_bypass:273) INFO: Test Pattern: DP Color Ramp
(amd_bypass:273) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(amd_bypass:273) igt_debugfs-DEBUG: CRC mismatch at index 0: 0x11f3 != 0xa885
(amd_bypass:273) igt_debugfs-CRITICAL: Test assertion failure function igt_assert_crc_equal, file ../lib/igt_debugfs.c:453:
(amd_bypass:273) igt_debugfs-CRITICAL: Failed assertion: !mismatch || igt_skip_crc_compare

crtc-lut-accuracy test:

(amd_color:285) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(amd_color:285) igt_kms-DEBUG: display: commit {
(amd_color:285) igt_kms-DEBUG: Pipe A: Setting property \"GAMMA_LUT\" to 0x43/67
(amd_color:285) igt_kms-DEBUG: Pipe A: Setting property \"DEGAMMA_LUT\" to 0x42/66
(amd_color:285) igt_kms-DEBUG: display: }
(amd_color:285) igt_debugfs-DEBUG: Opening debugfs directory '/sys/kernel/debug/dri/0'
(amd_color:285) igt_debugfs-DEBUG: CRC mismatch at index 0: 0x7d59 != 0x576b
(amd_color:285) igt_debugfs-CRITICAL: Test assertion failure function igt_assert_crc_equal, file ../lib/igt_debugfs.c:453:
(amd_color:285) igt_debugfs-CRITICAL: Failed assertion: !mismatch || igt_skip_crc_compare

query-timestamp test:

<14>[  192.210201] [IGT] amd_info: executing
IGT-Version: 1.26-g2e0355f (x86_64) (Linux: 5.15.0-rc4+ x86_64)
<14>[  192.215087] [IGT] amd_info: starting subtest query-timestamp
Initialized amdgpu, driver version 3.42
Starting subtest: query-timestamp
(amd_info:333) CRITICAL: Test assertion failure function query_timestamp_test, file ../tests/amdgpu/amd_info.c:105:
(amd_info:333) CRITICAL: Failed assertion: median > 0.99 && median < 1.01
<14>[  193.257237] [IGT] amd_info: exiting, ret=98
(amd_info:333) CRITICAL: The GPU time elapses at 207.79% (+/- 0.00% at 95% confidence) of the CPU's speed
gpu_counter_freq=48000 kHz, should be 99737 kHz (+/- 2.1 kHz at 95% confidence)

query-timestamp-while-idle test:

IGT-Version: 1.26-g2e0355f (x86_64) (Linux: 5.15.0-rc4+ x86_64)
Initialized amdgpu, driver version 3.42
Starting subtest: query-timestamp-while-idle
(amd_info:336) CRITICAL: Test assertion failure function query_timestamp_test, file ../tests/amdgpu/amd_info.c:105:<14>[  200.363047] [IGT] amd_info: exiting, ret=98
(amd_info:336) CRITICAL: Failed assertion: median > 0.99 && median < 1.01
(amd_info:336) CRITICAL: The GPU time elapses at 207.94% (+/- 0.00% at 95% confidence) of the CPU's speed
gpu_counter_freq=48000 kHz, should be 99812 kHz (+/- 0.0 kHz at 95% confidence)

The full log from the test plan being run on grunt can be found here.

Rsync is giving error while building different kselftests

Errors are as follows:

make[1]: Entering directory '/tmp/kci/linux/tools/testing/selftests/exec'
rsync -a binfmt_script non-regular /tmp/kci/linux/build/kselftest/kselftest_install/exec/
rsync: [sender] link_stat "/tmp/kci/linux/tools/testing/selftests/exec/non-regular" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]
make[1]: *** [../lib.mk:109: install] Error 23

rsync: [sender] link_stat "/tmp/kci/linux/build/kselftest/kvm/x86_64/vmx_pi_mmio_test" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]
make[1]: *** [../lib.mk:109: install] Error 23

rsync -a /tmp/kci/linux/build/kselftest/sgx/test_sgx /tmp/kci/linux/build/kselftest/kselftest_install/sgx/
rsync: [sender] link_stat "/tmp/kci/linux/build/kselftest/sgx/test_sgx" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]

Reference logs: https://storage.staging.kernelci.org/next/master/next-20220128/x86_64/x86_64_defconfig+x86-chromebook+kselftest/gcc-10/logs/kselftest.log

Move Mongo DB to Azure

The current Mongo DB instance used in production is self-hosted on the kernelci.org server. However there are regularly issues with Jenkins (Java) competing for the available RAM, causing mongod to stop. There is a workaround in place to automatically restart it when that happens, but a real fix would be to stop using Jenkins and to move Mongo DB to Azure as this would also simplify the maintenance.

This task is about moving Mongo DB to Azure, initially on staging to try things out and eventually in production.

`alarm_alm_set_minute` from `rtc-kselftest` times out on `rk3399-gru-kevin`

While adding the rtc-kselftest test to rk3399-gru-kevin in kernelci/kernelci-core#980, it was noticed that the alarm_alm_set_minute test case fails with a timeout:

# #  RUN           rtc.alarm_alm_set_minute ...
# # rtctest.c:238:alarm_alm_set_minute:Alarm time now set to 15:53:00.
# # rtctest.c:250:alarm_alm_set_minute:Expected 0 (0) != rc (0)
# # alarm_alm_set_minute: Test terminated by assertion
# #          FAIL  rtc.alarm_alm_set_minute
# not ok 6 rtc.alarm_alm_set_minute

This is most likely a bug in the RTC driver used for that device, rtc-cros-ec.

Lava run: https://lava.collabora.co.uk/scheduler/job/5415176

`078fb7aa6a830` vexpress motherboard-bus

next/master bisection: baseline.login on qemu_arm-vexpress-a9

Summary:
  Start:      83fa5857d812b Add linux-next specific files for 20210921
  Plain log:  https://storage.kernelci.org/next/master/next-20210921/arm/vexpress_defconfig/gcc-8/lab-baylibre/baseline-qemu_arm-vexpress-a9.txt
  HTML log:   https://storage.kernelci.org/next/master/next-20210921/arm/vexpress_defconfig/gcc-8/lab-baylibre/baseline-qemu_arm-vexpress-a9.html
  Result:     078fb7aa6a830 arm: dts: vexpress: Fix addressing issues with 'motherboard-bus' nodes

Checks:
  revert:     PASS
  verify:     PASS

Parameters:
  Tree:       next
  URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
  Branch:     master
  Target:     qemu_arm-vexpress-a9
  CPU arch:   arm
  Lab:        lab-baylibre
  Compiler:   gcc-8
  Config:     vexpress_defconfig
  Test case:  baseline.login

`TPM_RC_LOCKOUT` received during kselftest-tpm2

Issue found in kernelci/kernelci-core#1025.

The following tests from kselftest-tpm2

test_seal_with_auth (tpm2_tests.SmokeTest)
test_seal_with_policy (tpm2_tests.SmokeTest)
test_unseal_with_wrong_auth (tpm2_tests.SmokeTest)
test_unseal_with_wrong_policy (tpm2_tests.SmokeTest)

fail with

# ======================================================================
# ERROR: test_seal_with_auth (tpm2_tests.SmokeTest)
# ----------------------------------------------------------------------
# Traceback (most recent call last):
#   File \"/lava-5608585/0/tests/1_kselftest-livepatch/automated/linux/kselftest/output/tpm2/tpm2_tests.py\", line 26, in test_seal_with_auth
#     blob = self.client.seal(self.root_key, data, auth, None)
#   File \"/lava-5608585/0/tests/1_kselftest-livepatch/automated/linux/kselftest/output/tpm2/tpm2.py\", line 620, in seal
#     rsp = self.send_cmd(cmd)
#   File \"/lava-5608585/0/tests/1_kselftest-livepatch/automated/linux/kselftest/output/tpm2/tpm2.py\", line 397, in send_cmd
#     raise ProtocolError(cc, rc)
# tpm2.ProtocolError: TPM_RC_LOCKOUT: cc=0x00000153, rc=0x00000921

This issue has been observed on grunt and sona so far.

The issue can be worked around by running tpm2_clear from the tpm2-tools package before running the tests, however that solution is not acceptable upstream. So the root cause of the issue might need to be investigated so that a proper solution can be sent upstream.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.