public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zhangjin Wu <falcon@tinylab.org>
To: thomas@t-8ch.de, w@1wt.eu
Cc: falcon@tinylab.org, arnd@arndb.de, linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v3 00/12] selftests/nolibc: add minimal kernel config support - part1
Date: Fri, 28 Jul 2023 04:21:34 +0800	[thread overview]
Message-ID: <cover.1690489039.git.falcon@tinylab.org> (raw)

Hi, Willy

Most of the suggestions of v2 [1] have been applied in this v3 revision,
except the local menuconfig and mrproper targets, as explained in [2].

A fresh run with tinyconfig for ppc, ppc64 and ppc64le:

    $ for arch in ppc ppc64 ppc64le; do \
        mkdir -p $PWD/kernel-$arch;
        time make defconfig run DEFCONFIG=tinyconfig ARCH=$arch O=$PWD/kernel-$arch RUN_OUT=$PWD/run.$arch.out;
      done

rerun for ppc, ppc64 and ppc64le:

    $ for arch in ppc ppc64 ppc64le; do \
        make rerun ARCH=$arch O=$PWD/kernel-$arch RUN_OUT=$PWD/run.$arch.out;
      done
    Running /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/kernel-ppc/vmlinux on qemu-system-ppc
    >> [ppc] Kernel command line: console=ttyS0 panic=-1 
    printk: console [ttyS0] enabled
    Run /init as init process
    Running test 'startup'
    Running test 'syscall'
    Running test 'stdlib'
    Running test 'vfprintf'
    Running test 'protection'
    Leaving init with final status: 0
    reboot: Power down
    powered off, test finish
    qemu-system-ppc: terminating on signal 15 from pid 190248 ()

    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning

    See all results in /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/run.ppc.out
    Running /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/kernel-ppc64/vmlinux on qemu-system-ppc64
    Linux version 6.4.0+ (ubuntu@linux-lab) (powerpc64le-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 SMP Fri Jul 28 01:40:55 CST 2023
    Kernel command line: console=hvc0 panic=-1 
    printk: console [hvc0] enabled
    printk: console [hvc0] enabled
    Run /init as init process
    Running test 'startup'
    Running test 'syscall'
    Running test 'stdlib'
    Running test 'vfprintf'
    Running test 'protection'
    Leaving init with final status: 0
    reboot: Power down
    powered off, test finish

    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning

    See all results in /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/run.ppc64.out
    Running /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/kernel-ppc64le/arch/powerpc/boot/zImage on qemu-system-ppc64le
    Linux version 6.4.0+ (ubuntu@linux-lab) (powerpc64le-linux-gnu-gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #2 SMP Fri Jul 28 01:41:12 CST 2023
    Kernel command line: console=hvc0 panic=-1 
    Run /init as init process
    Running test 'startup'
    Running test 'syscall'
    Running test 'stdlib'
    Running test 'vfprintf'
    Running test 'protection'
    Leaving init with final status: 0
    reboot: Power down
    powered off, test finish

    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning

    See all results in /labs/linux-lab/src/linux-stable/tools/testing/selftests/nolibc/run.ppc64le.out

A fast report on existing test logs:

    $ for arch in ppc ppc64 ppc64le; do \
        make report ARCH=$arch RUN_OUT=$PWD/run.$arch.out | grep status; \
      done
    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning
    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning
    165 test(s): 156 passed,   9 skipped,   0 failed => status: warning

Changes from v2 --> v3:

* selftests/nolibc: allow report with existing test log
  selftests/nolibc: fix up O= option support
  selftests/nolibc: allow customize CROSS_COMPILE by architecture
  selftests/nolibc: customize CROSS_COMPILE for 32/64-bit powerpc
  selftests/nolibc: tinyconfig: add extra common options

    No Change.

* selftests/nolibc: add macros to reduce duplicated changes

    Remove REPORT_RUN_OUT and LOG_OUT.

* selftests/nolibc: string the core targets

    Removed extconfig target from our v3 powerpc patchset [3], the
    operations have been merged into the defconfig target.

    Let kernel depends on $(KERNEL_CONFIG) instead of the removed
    extconfig.

* selftests/nolibc: add menuconfig and mrproper for development

    like the other local nolibc targets, still require local menuconfig
    and mrproper targets for consistent usage with the same ARCH and no -C
    /path/to/srctree

    Merge them together to reduce duplicated entries.

* selftests/nolibc: allow quit qemu-system when poweroff fails

    Enhance timeout logic with more expected strings print and detection
    about the booting of bios, kernel, init and test.

    Add a default 10 seconds of QEMU_TIMEOUT for every architecture to
    detect all of the potential boog hang or failed poweroff.

* selftests/nolibc: customize QEMU_TIMEOUT for ppc64/ppc64le

    Reduce QEMU_TIMEOUT from 60 seconds to a more normal 15 and 20
    seconds for ppc64 and ppc64le respectively. the main time cost is
    the slow bios used.

* selftests/nolibc: tinyconfig: add support for 32/64-bit powerpc

    Rename the file names to shorter ones as suggestions from the powerpc
    patchset.

* selftests/nolibc: speed up some targets with multiple jobs

    New to speed up with -j<N> by default.

Best regards,
Zhangjin
---
[1]: https://lore.kernel.org/lkml/cover.1689759351.git.falcon@tinylab.org/
[2]: https://lore.kernel.org/lkml/20230727132418.117924-1-falcon@tinylab.org/
[3]: https://lore.kernel.org/lkml/8e9e5ac6283c6ec2ecf10a70ce55b219028497c1.1690468707.git.falcon@tinylab.org/


Zhangjin Wu (12):
  selftests/nolibc: allow report with existing test log
  selftests/nolibc: add macros to reduce duplicated changes
  selftests/nolibc: fix up O= option support
  selftests/nolibc: string the core targets
  selftests/nolibc: allow customize CROSS_COMPILE by architecture
  selftests/nolibc: customize CROSS_COMPILE for 32/64-bit powerpc
  selftests/nolibc: add menuconfig and mrproper for development
  selftests/nolibc: allow quit qemu-system when poweroff fails
  selftests/nolibc: customize QEMU_TIMEOUT for ppc64/ppc64le
  selftests/nolibc: tinyconfig: add extra common options
  selftests/nolibc: tinyconfig: add support for 32/64-bit powerpc
  selftests/nolibc: speed up some targets with multiple jobs

 tools/testing/selftests/nolibc/Makefile       | 102 ++++++++++++++----
 .../selftests/nolibc/configs/common.config    |   4 +
 .../selftests/nolibc/configs/ppc.config       |   3 +
 .../selftests/nolibc/configs/ppc64.config     |   3 +
 .../selftests/nolibc/configs/ppc64le.config   |   4 +
 5 files changed, 98 insertions(+), 18 deletions(-)
 create mode 100644 tools/testing/selftests/nolibc/configs/common.config
 create mode 100644 tools/testing/selftests/nolibc/configs/ppc64.config
 create mode 100644 tools/testing/selftests/nolibc/configs/ppc64le.config

-- 
2.25.1


             reply	other threads:[~2023-07-27 20:21 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-27 20:21 Zhangjin Wu [this message]
2023-07-27 20:22 ` [PATCH v3 01/12] selftests/nolibc: allow report with existing test log Zhangjin Wu
2023-07-29  6:28   ` Thomas Weißschuh
2023-07-29  8:53     ` Zhangjin Wu
2023-07-27 20:23 ` [PATCH v3 02/12] selftests/nolibc: add macros to reduce duplicated changes Zhangjin Wu
2023-07-27 20:24 ` [PATCH v3 03/12] selftests/nolibc: fix up O= option support Zhangjin Wu
2023-07-27 20:26 ` [PATCH v3 04/12] selftests/nolibc: string the core targets Zhangjin Wu
2023-07-27 20:27 ` [PATCH v3 05/12] selftests/nolibc: allow customize CROSS_COMPILE by architecture Zhangjin Wu
2023-07-27 20:28 ` [PATCH v3 06/12] selftests/nolibc: customize CROSS_COMPILE for 32/64-bit powerpc Zhangjin Wu
2023-07-29  8:35   ` Willy Tarreau
2023-07-29  8:46     ` Zhangjin Wu
2023-07-27 20:29 ` [PATCH v3 07/12] selftests/nolibc: add menuconfig and mrproper for development Zhangjin Wu
2023-07-27 20:30 ` [PATCH v3 08/12] selftests/nolibc: allow quit qemu-system when poweroff fails Zhangjin Wu
2023-07-28 19:40   ` Zhangjin Wu
2023-07-29  7:59   ` Thomas Weißschuh
2023-07-29  8:29     ` Willy Tarreau
2023-07-29 12:05       ` Zhangjin Wu
2023-07-29 17:06         ` Willy Tarreau
2023-07-30 22:28           ` Zhangjin Wu
2023-07-27 20:31 ` [PATCH v3 09/12] selftests/nolibc: customize QEMU_TIMEOUT for ppc64/ppc64le Zhangjin Wu
2023-07-27 20:32 ` [PATCH v3 10/12] selftests/nolibc: tinyconfig: add extra common options Zhangjin Wu
2023-07-27 20:33 ` [PATCH v3 11/12] selftests/nolibc: tinyconfig: add support for 32/64-bit powerpc Zhangjin Wu
2023-07-27 20:35 ` [PATCH v3 12/12] selftests/nolibc: speed up some targets with multiple jobs Zhangjin Wu
2023-07-29  6:44   ` Thomas Weißschuh
2023-07-29  8:31     ` Willy Tarreau
2023-07-29  9:11       ` Zhangjin Wu

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=cover.1690489039.git.falcon@tinylab.org \
    --to=falcon@tinylab.org \
    --cc=arnd@arndb.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=thomas@t-8ch.de \
    --cc=w@1wt.eu \
    /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