* [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags)
@ 2021-05-27 16:03 Alex Bennée
2021-05-27 16:03 ` [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery Alex Bennée
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, f4bug, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
Hi,
This is the current state of my testing queue. I don't think there is
any pressing hurry to get this merged.
I should note I'll probably need to drop the signals test in any PR as
it's still causing some intermittent failures on various system.
The tweaks to acceptance tests need the additional support from
Phillipe's series:
https://patchew.org/QEMU/20210526170432.343588-1-philmd@redhat.com/
They following still need review:
- tests/acceptance: tag various arm tests as TCG only
- tests/acceptance: tweak the tcg/kvm tests for virt
- tests/tcg/configure.sh: tweak quoting of target_compiler
- meson.build: fix cosmetics of compiler display
- tests/tcg: add a multiarch signals test to stress test signal delivery
Alex Bennée (5):
tests/tcg: add a multiarch signals test to stress test signal delivery
meson.build: fix cosmetics of compiler display
tests/tcg/configure.sh: tweak quoting of target_compiler
tests/acceptance: tweak the tcg/kvm tests for virt
tests/acceptance: tag various arm tests as TCG only
Philippe Mathieu-Daudé (1):
gitlab-ci: Convert check-dco/check-patch jobs to the 'rules' syntax
meson.build | 8 +-
tests/tcg/multiarch/signals.c | 149 +++++++++++++++++++++++++
.gitlab-ci.yml | 16 +--
tests/acceptance/boot_linux.py | 24 ++--
tests/acceptance/boot_linux_console.py | 18 +++
tests/tcg/configure.sh | 6 +-
tests/tcg/multiarch/Makefile.target | 2 +
7 files changed, 197 insertions(+), 26 deletions(-)
create mode 100644 tests/tcg/multiarch/signals.c
--
2.20.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-27 17:37 ` Richard Henderson
2021-05-27 16:03 ` [PATCH v1 2/6] meson.build: fix cosmetics of compiler display Alex Bennée
` (4 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, f4bug, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
This adds a simple signal test that combines the POSIX timer_create
with signal delivery across multiple threads. The aim is to provide a
bit more of a stress test to flush out signal handling issues for
easily than the occasional random crash we sometimes see in linux-test
or threadcount.
[AJB: this is still triggering intermittent failures in some guests so
will probably be kept out of PRs until that is fixed.]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210504100223.25427-29-alex.bennee@linaro.org>
---
tests/tcg/multiarch/signals.c | 149 ++++++++++++++++++++++++++++
tests/tcg/multiarch/Makefile.target | 2 +
2 files changed, 151 insertions(+)
create mode 100644 tests/tcg/multiarch/signals.c
diff --git a/tests/tcg/multiarch/signals.c b/tests/tcg/multiarch/signals.c
new file mode 100644
index 0000000000..998c8fdefd
--- /dev/null
+++ b/tests/tcg/multiarch/signals.c
@@ -0,0 +1,149 @@
+/*
+ * linux-user signal handling tests.
+ *
+ * Copyright (c) 2021 Linaro Ltd
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include <stdarg.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <pthread.h>
+#include <string.h>
+#include <signal.h>
+#include <time.h>
+#include <sys/time.h>
+
+static void error1(const char *filename, int line, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ fprintf(stderr, "%s:%d: ", filename, line);
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\n");
+ va_end(ap);
+ exit(1);
+}
+
+static int __chk_error(const char *filename, int line, int ret)
+{
+ if (ret < 0) {
+ error1(filename, line, "%m (ret=%d, errno=%d/%s)",
+ ret, errno, strerror(errno));
+ }
+ return ret;
+}
+
+#define error(fmt, ...) error1(__FILE__, __LINE__, fmt, ## __VA_ARGS__)
+
+#define chk_error(ret) __chk_error(__FILE__, __LINE__, (ret))
+
+/*
+ * Thread handling
+ */
+typedef struct ThreadJob ThreadJob;
+
+struct ThreadJob {
+ int number;
+ int sleep;
+ int count;
+};
+
+static pthread_t *threads;
+static int max_threads = 10;
+__thread int signal_count;
+int total_signal_count;
+
+static void *background_thread_func(void *arg)
+{
+ ThreadJob *job = (ThreadJob *) arg;
+
+ printf("thread%d: started\n", job->number);
+ while (total_signal_count < job->count) {
+ usleep(job->sleep);
+ }
+ printf("thread%d: saw %d alarms from %d\n", job->number,
+ signal_count, total_signal_count);
+ return NULL;
+}
+
+static void spawn_threads(void)
+{
+ int i;
+ threads = calloc(sizeof(pthread_t), max_threads);
+
+ for (i = 0; i < max_threads; i++) {
+ ThreadJob *job = calloc(sizeof(ThreadJob), 1);
+ job->number = i;
+ job->sleep = i * 1000;
+ job->count = i * 100;
+ pthread_create(threads + i, NULL, background_thread_func, job);
+ }
+}
+
+static void close_threads(void)
+{
+ int i;
+ for (i = 0; i < max_threads; i++) {
+ pthread_join(threads[i], NULL);
+ }
+ free(threads);
+ threads = NULL;
+}
+
+static void sig_alarm(int sig, siginfo_t *info, void *puc)
+{
+ if (sig != SIGRTMIN) {
+ error("unexpected signal");
+ }
+ signal_count++;
+ __atomic_fetch_add(&total_signal_count, 1, __ATOMIC_SEQ_CST);
+}
+
+static void test_signals(void)
+{
+ struct sigaction act;
+ struct itimerspec it;
+ timer_t tid;
+ struct sigevent sev;
+
+ /* Set up SIG handler */
+ act.sa_sigaction = sig_alarm;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = SA_SIGINFO;
+ chk_error(sigaction(SIGRTMIN, &act, NULL));
+
+ /* Create POSIX timer */
+ sev.sigev_notify = SIGEV_SIGNAL;
+ sev.sigev_signo = SIGRTMIN;
+ sev.sigev_value.sival_ptr = &tid;
+ chk_error(timer_create(CLOCK_REALTIME, &sev, &tid));
+
+ it.it_interval.tv_sec = 0;
+ it.it_interval.tv_nsec = 1000000;
+ it.it_value.tv_sec = 0;
+ it.it_value.tv_nsec = 1000000;
+ chk_error(timer_settime(tid, 0, &it, NULL));
+
+ spawn_threads();
+
+ do {
+ usleep(1000);
+ } while (total_signal_count < 2000);
+
+ printf("shutting down after: %d signals\n", total_signal_count);
+
+ close_threads();
+
+ chk_error(timer_delete(tid));
+}
+
+int main(int argc, char **argv)
+{
+ test_signals();
+ return 0;
+}
diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Makefile.target
index a3a751723d..3f283eabe6 100644
--- a/tests/tcg/multiarch/Makefile.target
+++ b/tests/tcg/multiarch/Makefile.target
@@ -30,6 +30,8 @@ testthread: LDFLAGS+=-lpthread
threadcount: LDFLAGS+=-lpthread
+signals: LDFLAGS+=-lrt -lpthread
+
# We define the runner for test-mmap after the individual
# architectures have defined their supported pages sizes. If no
# additional page sizes are defined we only run the default test.
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 2/6] meson.build: fix cosmetics of compiler display
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
2021-05-27 16:03 ` [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-27 17:38 ` Richard Henderson
2021-05-28 11:05 ` Philippe Mathieu-Daudé
2021-05-27 16:03 ` [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler Alex Bennée
` (3 subsequent siblings)
5 siblings, 2 replies; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, f4bug, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
If you specify something like --cc="ccache gcc" on your configure line
the summary output misses the rest of the cmd_array. Do some string
joining to make it complete.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Thomas Huth <thuth@redhat.com>
---
meson.build | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index 20d7035e44..3f065f53f2 100644
--- a/meson.build
+++ b/meson.build
@@ -2515,15 +2515,15 @@ summary(summary_info, bool_yn: true, section: 'Configurable features')
summary_info = {}
summary_info += {'host CPU': cpu}
summary_info += {'host endianness': build_machine.endian()}
-summary_info += {'C compiler': meson.get_compiler('c').cmd_array()[0]}
-summary_info += {'Host C compiler': meson.get_compiler('c', native: true).cmd_array()[0]}
+summary_info += {'C compiler': ' '.join(meson.get_compiler('c').cmd_array())}
+summary_info += {'Host C compiler': ' '.join(meson.get_compiler('c', native: true).cmd_array())}
if link_language == 'cpp'
- summary_info += {'C++ compiler': meson.get_compiler('cpp').cmd_array()[0]}
+ summary_info += {'C++ compiler': ' '.join(meson.get_compiler('cpp').cmd_array())}
else
summary_info += {'C++ compiler': false}
endif
if targetos == 'darwin'
- summary_info += {'Objective-C compiler': meson.get_compiler('objc').cmd_array()[0]}
+ summary_info += {'Objective-C compiler': ' '.join(meson.get_compiler('objc').cmd_array())}
endif
if targetos == 'windows'
if 'WIN_SDK' in config_host
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
2021-05-27 16:03 ` [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery Alex Bennée
2021-05-27 16:03 ` [PATCH v1 2/6] meson.build: fix cosmetics of compiler display Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-28 4:39 ` Thomas Huth
2021-05-27 16:03 ` [PATCH v1 4/6] gitlab-ci: Convert check-dco/check-patch jobs to the 'rules' syntax Alex Bennée
` (2 subsequent siblings)
5 siblings, 1 reply; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, f4bug, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
If you configure the host compiler with a multi-command stanza like:
--cc="ccache gcc"
then the configure.sh machinery falls over with confusion. Work around
this by ensuring we correctly quote so where we need a complete
evaluation we get it. Of course the has() check needs single variable
so we need to unquote that. This does mean it essentially checks that
just the ccache command exits but if we got past that step we still
check the compiler actually does something.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Thomas Huth <thuth@redhat.com>
---
tests/tcg/configure.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index ed6492ce59..aa7c24328a 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -222,10 +222,10 @@ for target in $target_list; do
got_cross_cc=no
- if eval test "x\${cross_cc_$arch}" != xyes; then
- eval "target_compiler=\${cross_cc_$arch}"
+ if eval test "x\"\${cross_cc_$arch}\"" != xyes; then
+ eval "target_compiler=\"\${cross_cc_$arch}\""
- if has "$target_compiler"; then
+ if has $target_compiler; then
if test "$supress_clang" = yes &&
$target_compiler --version | grep -qi "clang"; then
got_cross_cc=no
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 4/6] gitlab-ci: Convert check-dco/check-patch jobs to the 'rules' syntax
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
` (2 preceding siblings ...)
2021-05-27 16:03 ` [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-27 16:03 ` [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt Alex Bennée
2021-05-27 16:03 ` [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only Alex Bennée
5 siblings, 0 replies; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, Thomas Huth, berrange, f4bug, Wainer dos Santos Moschetta,
Willian Rampazzo, stefanha, crosa, pbonzini, Alex Bennée,
aurelien
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
Per GitLab documentation [*]:
"rules replaces only/except and they can’t be used together
in the same job."
Since the 'rules' syntax is more powerful and we are already using
it, convert the check-dco/check-patch jobs so no job use the 'only/
except' syntax.
[*] https://docs.gitlab.com/ee/ci/yaml/#rules
Inspired-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210525132418.4133235-3-f4bug@amsat.org>
---
.gitlab-ci.yml | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1c46392b2f..797403477f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -785,12 +785,13 @@ check-patch:
needs:
job: amd64-centos8-container
script: .gitlab-ci.d/check-patch.py
- except:
- variables:
- - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
variables:
GIT_DEPTH: 1000
- allow_failure: true
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH == "master"'
+ when: never
+ - when: on_success
+ allow_failure: true
check-dco:
stage: build
@@ -798,11 +799,12 @@ check-dco:
needs:
job: amd64-centos8-container
script: .gitlab-ci.d/check-dco.py
- except:
- variables:
- - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
variables:
GIT_DEPTH: 1000
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH == "master"'
+ when: never
+ - when: on_success
build-libvhost-user:
stage: build
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
` (3 preceding siblings ...)
2021-05-27 16:03 ` [PATCH v1 4/6] gitlab-ci: Convert check-dco/check-patch jobs to the 'rules' syntax Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-27 17:40 ` Richard Henderson
2021-05-27 19:08 ` Willian Rampazzo
2021-05-27 16:03 ` [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only Alex Bennée
5 siblings, 2 replies; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, Philippe Mathieu-Daudé,
f4bug, Wainer dos Santos Moschetta, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
Really it's only TCG that can select which GIC model you want, KVM
guests should always be using the "host" version of the GIC for which
QEMU already provides a handy shortcut. Make the KVM test use this and
split the TCG test into it's two versions.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/acceptance/boot_linux.py | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/tests/acceptance/boot_linux.py b/tests/acceptance/boot_linux.py
index 0d178038a0..7221452d4b 100644
--- a/tests/acceptance/boot_linux.py
+++ b/tests/acceptance/boot_linux.py
@@ -75,10 +75,11 @@ def add_common_args(self):
self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0')
self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom')
- def test_virt_tcg(self):
+ def test_virt_tcg_gicv2(self):
"""
:avocado: tags=accel:tcg
:avocado: tags=cpu:max
+ :avocado: tags=device:gicv2
"""
self.require_accelerator("tcg")
self.vm.add_args("-accel", "tcg")
@@ -87,29 +88,28 @@ def test_virt_tcg(self):
self.add_common_args()
self.launch_and_wait()
- def test_virt_kvm_gicv2(self):
+ def test_virt_tcg_gicv3(self):
"""
- :avocado: tags=accel:kvm
- :avocado: tags=cpu:host
- :avocado: tags=device:gicv2
+ :avocado: tags=accel:tcg
+ :avocado: tags=cpu:max
+ :avocado: tags=device:gicv3
"""
- self.require_accelerator("kvm")
- self.vm.add_args("-accel", "kvm")
- self.vm.add_args("-cpu", "host")
- self.vm.add_args("-machine", "virt,gic-version=2")
+ self.require_accelerator("tcg")
+ self.vm.add_args("-accel", "tcg")
+ self.vm.add_args("-cpu", "max")
+ self.vm.add_args("-machine", "virt,gic-version=3")
self.add_common_args()
self.launch_and_wait()
- def test_virt_kvm_gicv3(self):
+ def test_virt_kvm(self):
"""
:avocado: tags=accel:kvm
:avocado: tags=cpu:host
- :avocado: tags=device:gicv3
"""
self.require_accelerator("kvm")
self.vm.add_args("-accel", "kvm")
self.vm.add_args("-cpu", "host")
- self.vm.add_args("-machine", "virt,gic-version=3")
+ self.vm.add_args("-machine", "virt,gic-version=host")
self.add_common_args()
self.launch_and_wait()
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
` (4 preceding siblings ...)
2021-05-27 16:03 ` [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt Alex Bennée
@ 2021-05-27 16:03 ` Alex Bennée
2021-05-27 17:49 ` Richard Henderson
2021-05-27 19:09 ` Willian Rampazzo
5 siblings, 2 replies; 15+ messages in thread
From: Alex Bennée @ 2021-05-27 16:03 UTC (permalink / raw)
To: qemu-devel
Cc: fam, berrange, Philippe Mathieu-Daudé,
f4bug, Wainer dos Santos Moschetta, stefanha, crosa, pbonzini,
Alex Bennée, aurelien
We should never be trying to run most of these models under a KVM
environment.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/acceptance/boot_linux_console.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 276a53f146..cded547d1d 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -333,6 +333,7 @@ def test_aarch64_virt(self):
"""
:avocado: tags=arch:aarch64
:avocado: tags=machine:virt
+ :avocado: tags=accel:tcg
"""
kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
'/linux/releases/29/Everything/aarch64/os/images/pxeboot'
@@ -343,7 +344,9 @@ def test_aarch64_virt(self):
self.vm.set_console()
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
'console=ttyAMA0')
+ self.require_accelerator("tcg")
self.vm.add_args('-cpu', 'cortex-a53',
+ '-accel', 'tcg',
'-kernel', kernel_path,
'-append', kernel_command_line)
self.vm.launch()
@@ -356,6 +359,7 @@ def test_aarch64_xlnx_versal_virt(self):
:avocado: tags=machine:xlnx-versal-virt
:avocado: tags=device:pl011
:avocado: tags=device:arm_gicv3
+ :avocado: tags=accel:tcg
"""
images_url = ('http://ports.ubuntu.com/ubuntu-ports/dists/'
'bionic-updates/main/installer-arm64/'
@@ -370,6 +374,7 @@ def test_aarch64_xlnx_versal_virt(self):
self.vm.set_console()
self.vm.add_args('-m', '2G',
+ '-accel', 'tcg',
'-kernel', kernel_path,
'-initrd', initrd_path)
self.vm.launch()
@@ -379,6 +384,7 @@ def test_arm_virt(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:virt
+ :avocado: tags=accel:tcg
"""
kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
'/linux/releases/29/Everything/armhfp/os/images/pxeboot'
@@ -401,6 +407,7 @@ def test_arm_emcraft_sf2(self):
:avocado: tags=machine:emcraft-sf2
:avocado: tags=endian:little
:avocado: tags=u-boot
+ :avocado: tags=accel:tcg
"""
uboot_url = ('https://raw.githubusercontent.com/'
'Subbaraya-Sundeep/qemu-test-binaries/'
@@ -429,6 +436,8 @@ def test_arm_emcraft_sf2(self):
def do_test_arm_raspi2(self, uart_id):
"""
+ :avocado: tags=accel:tcg
+
The kernel can be rebuilt using the kernel source referenced
and following the instructions on the on:
https://www.raspberrypi.org/documentation/linux/kernel/building.md
@@ -464,6 +473,7 @@ def test_arm_raspi2_uart0(self):
:avocado: tags=arch:arm
:avocado: tags=machine:raspi2
:avocado: tags=device:pl011
+ :avocado: tags=accel:tcg
"""
self.do_test_arm_raspi2(0)
@@ -471,6 +481,7 @@ def test_arm_exynos4210_initrd(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:smdkc210
+ :avocado: tags=accel:tcg
"""
deb_url = ('https://snapshot.debian.org/archive/debian/'
'20190928T224601Z/pool/main/l/linux/'
@@ -511,6 +522,7 @@ def test_arm_cubieboard_initrd(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:cubieboard
+ :avocado: tags=accel:tcg
"""
deb_url = ('https://apt.armbian.com/pool/main/l/'
'linux-5.10.16-sunxi/linux-image-current-sunxi_21.02.2_armhf.deb')
@@ -551,6 +563,7 @@ def test_arm_cubieboard_sata(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:cubieboard
+ :avocado: tags=accel:tcg
"""
deb_url = ('https://apt.armbian.com/pool/main/l/'
'linux-5.10.16-sunxi/linux-image-current-sunxi_21.02.2_armhf.deb')
@@ -595,6 +608,7 @@ def test_arm_quanta_gsj(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:quanta-gsj
+ :avocado: tags=accel:tcg
"""
# 25 MiB compressed, 32 MiB uncompressed.
image_url = (
@@ -642,6 +656,7 @@ def test_arm_quanta_gsj_initrd(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:quanta-gsj
+ :avocado: tags=accel:tcg
"""
initrd_url = (
'https://github.com/hskinnemoen/openbmc/releases/download/'
@@ -678,6 +693,7 @@ def test_arm_orangepi(self):
"""
:avocado: tags=arch:arm
:avocado: tags=machine:orangepi-pc
+ :avocado: tags=accel:tcg
"""
deb_url = ('https://apt.armbian.com/pool/main/l/'
'linux-5.10.16-sunxi/linux-image-current-sunxi_21.02.2_armhf.deb')
@@ -702,6 +718,7 @@ def test_arm_orangepi(self):
def test_arm_orangepi_initrd(self):
"""
:avocado: tags=arch:arm
+ :avocado: tags=accel:tcg
:avocado: tags=machine:orangepi-pc
"""
deb_url = ('https://apt.armbian.com/pool/main/l/'
@@ -744,6 +761,7 @@ def test_arm_orangepi_initrd(self):
def test_arm_orangepi_sd(self):
"""
:avocado: tags=arch:arm
+ :avocado: tags=accel:tcg
:avocado: tags=machine:orangepi-pc
:avocado: tags=device:sd
"""
--
2.20.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery
2021-05-27 16:03 ` [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery Alex Bennée
@ 2021-05-27 17:37 ` Richard Henderson
0 siblings, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2021-05-27 17:37 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, f4bug, stefanha, crosa, pbonzini, aurelien
On 5/27/21 9:03 AM, Alex Bennée wrote:
> This adds a simple signal test that combines the POSIX timer_create
> with signal delivery across multiple threads. The aim is to provide a
> bit more of a stress test to flush out signal handling issues for
> easily than the occasional random crash we sometimes see in linux-test
> or threadcount.
>
> [AJB: this is still triggering intermittent failures in some guests so
> will probably be kept out of PRs until that is fixed.]
>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> Message-Id:<20210504100223.25427-29-alex.bennee@linaro.org>
> ---
> tests/tcg/multiarch/signals.c | 149 ++++++++++++++++++++++++++++
> tests/tcg/multiarch/Makefile.target | 2 +
> 2 files changed, 151 insertions(+)
> create mode 100644 tests/tcg/multiarch/signals.c
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This has flushed out quite a few bugs. We could do more, but this is good
without treading into target-specific territory.
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 2/6] meson.build: fix cosmetics of compiler display
2021-05-27 16:03 ` [PATCH v1 2/6] meson.build: fix cosmetics of compiler display Alex Bennée
@ 2021-05-27 17:38 ` Richard Henderson
2021-05-28 11:05 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2021-05-27 17:38 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, Thomas Huth, berrange, f4bug, stefanha, crosa, pbonzini, aurelien
On 5/27/21 9:03 AM, Alex Bennée wrote:
> If you specify something like --cc="ccache gcc" on your configure line
> the summary output misses the rest of the cmd_array. Do some string
> joining to make it complete.
>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> Tested-by: Thomas Huth<thuth@redhat.com>
> ---
> meson.build | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt
2021-05-27 16:03 ` [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt Alex Bennée
@ 2021-05-27 17:40 ` Richard Henderson
2021-05-27 19:08 ` Willian Rampazzo
1 sibling, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2021-05-27 17:40 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, f4bug, Wainer dos Santos Moschetta, stefanha,
crosa, pbonzini, Philippe Mathieu-Daudé,
aurelien
On 5/27/21 9:03 AM, Alex Bennée wrote:
> Really it's only TCG that can select which GIC model you want, KVM
> guests should always be using the "host" version of the GIC for which
> QEMU already provides a handy shortcut. Make the KVM test use this and
> split the TCG test into it's two versions.
>
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> ---
> tests/acceptance/boot_linux.py | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only
2021-05-27 16:03 ` [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only Alex Bennée
@ 2021-05-27 17:49 ` Richard Henderson
2021-05-27 19:09 ` Willian Rampazzo
1 sibling, 0 replies; 15+ messages in thread
From: Richard Henderson @ 2021-05-27 17:49 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, f4bug, Wainer dos Santos Moschetta, stefanha,
crosa, pbonzini, Philippe Mathieu-Daudé,
aurelien
On 5/27/21 9:03 AM, Alex Bennée wrote:
> We should never be trying to run most of these models under a KVM
> environment.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/acceptance/boot_linux_console.py | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 276a53f146..cded547d1d 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -333,6 +333,7 @@ def test_aarch64_virt(self):
> """
> :avocado: tags=arch:aarch64
> :avocado: tags=machine:virt
> + :avocado: tags=accel:tcg
> """
> kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
> '/linux/releases/29/Everything/aarch64/os/images/pxeboot'
This one should work with kvm if we change the -cpu line, yes?
Do we have any other boot_linux_console testing for kvm otherwise?
> @@ -379,6 +384,7 @@ def test_arm_virt(self):
> """
> :avocado: tags=arch:arm
> :avocado: tags=machine:virt
> + :avocado: tags=accel:tcg
> """
> kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora'
> '/linux/releases/29/Everything/armhfp/os/images/pxeboot'
Ack, because for kvm we'd have to know if the host supports 32-bit mode at all.
So, no for the thunderx2 that aarch64.ci.qemu.org has, but yes for the
cortex-a57 in my mustang.
It'd be nice to be able to detect this somehow...
Ack to all the rest as obvious arm embedded/pi stuff.
r~
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt
2021-05-27 16:03 ` [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt Alex Bennée
2021-05-27 17:40 ` Richard Henderson
@ 2021-05-27 19:08 ` Willian Rampazzo
1 sibling, 0 replies; 15+ messages in thread
From: Willian Rampazzo @ 2021-05-27 19:08 UTC (permalink / raw)
To: Alex Bennée
Cc: Fam Zheng, Daniel Berrange, qemu-devel,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Stefan Hajnoczi, Cleber Rosa Junior, Paolo Bonzini,
Philippe Mathieu-Daudé,
Aurelien Jarno
On Thu, May 27, 2021 at 1:11 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Really it's only TCG that can select which GIC model you want, KVM
> guests should always be using the "host" version of the GIC for which
> QEMU already provides a handy shortcut. Make the KVM test use this and
> split the TCG test into it's two versions.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/acceptance/boot_linux.py | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/tests/acceptance/boot_linux.py b/tests/acceptance/boot_linux.py
> index 0d178038a0..7221452d4b 100644
> --- a/tests/acceptance/boot_linux.py
> +++ b/tests/acceptance/boot_linux.py
> @@ -75,10 +75,11 @@ def add_common_args(self):
> self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0')
> self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom')
>
> - def test_virt_tcg(self):
> + def test_virt_tcg_gicv2(self):
> """
> :avocado: tags=accel:tcg
> :avocado: tags=cpu:max
> + :avocado: tags=device:gicv2
> """
> self.require_accelerator("tcg")
> self.vm.add_args("-accel", "tcg")
> @@ -87,29 +88,28 @@ def test_virt_tcg(self):
> self.add_common_args()
> self.launch_and_wait()
>
> - def test_virt_kvm_gicv2(self):
> + def test_virt_tcg_gicv3(self):
> """
> - :avocado: tags=accel:kvm
> - :avocado: tags=cpu:host
> - :avocado: tags=device:gicv2
> + :avocado: tags=accel:tcg
> + :avocado: tags=cpu:max
> + :avocado: tags=device:gicv3
> """
> - self.require_accelerator("kvm")
> - self.vm.add_args("-accel", "kvm")
> - self.vm.add_args("-cpu", "host")
> - self.vm.add_args("-machine", "virt,gic-version=2")
> + self.require_accelerator("tcg")
> + self.vm.add_args("-accel", "tcg")
> + self.vm.add_args("-cpu", "max")
> + self.vm.add_args("-machine", "virt,gic-version=3")
> self.add_common_args()
> self.launch_and_wait()
>
This test is timing out for me. Maybe we should add a skip just like
on build/tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_arm_quanta_gsj,
@skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might
timeout')?
> - def test_virt_kvm_gicv3(self):
> + def test_virt_kvm(self):
> """
> :avocado: tags=accel:kvm
> :avocado: tags=cpu:host
> - :avocado: tags=device:gicv3
> """
> self.require_accelerator("kvm")
> self.vm.add_args("-accel", "kvm")
> self.vm.add_args("-cpu", "host")
> - self.vm.add_args("-machine", "virt,gic-version=3")
> + self.vm.add_args("-machine", "virt,gic-version=host")
> self.add_common_args()
> self.launch_and_wait()
>
> --
> 2.20.1
>
>
Tested-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only
2021-05-27 16:03 ` [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only Alex Bennée
2021-05-27 17:49 ` Richard Henderson
@ 2021-05-27 19:09 ` Willian Rampazzo
1 sibling, 0 replies; 15+ messages in thread
From: Willian Rampazzo @ 2021-05-27 19:09 UTC (permalink / raw)
To: Alex Bennée
Cc: Fam Zheng, Daniel Berrange, qemu-devel,
Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
Stefan Hajnoczi, Cleber Rosa Junior, Paolo Bonzini,
Philippe Mathieu-Daudé,
Aurelien Jarno
On Thu, May 27, 2021 at 1:12 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
> We should never be trying to run most of these models under a KVM
> environment.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/acceptance/boot_linux_console.py | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
Tested-by: Willian Rampazzo <willianr@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler
2021-05-27 16:03 ` [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler Alex Bennée
@ 2021-05-28 4:39 ` Thomas Huth
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Huth @ 2021-05-28 4:39 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, berrange, f4bug, stefanha, crosa, pbonzini, aurelien
On 27/05/2021 18.03, Alex Bennée wrote:
> If you configure the host compiler with a multi-command stanza like:
>
> --cc="ccache gcc"
>
> then the configure.sh machinery falls over with confusion. Work around
> this by ensuring we correctly quote so where we need a complete
> evaluation we get it. Of course the has() check needs single variable
> so we need to unquote that. This does mean it essentially checks that
> just the ccache command exits but if we got past that step we still
> check the compiler actually does something.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Thomas Huth <thuth@redhat.com>
> ---
> tests/tcg/configure.sh | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index ed6492ce59..aa7c24328a 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -222,10 +222,10 @@ for target in $target_list; do
>
> got_cross_cc=no
>
> - if eval test "x\${cross_cc_$arch}" != xyes; then
> - eval "target_compiler=\${cross_cc_$arch}"
> + if eval test "x\"\${cross_cc_$arch}\"" != xyes; then
> + eval "target_compiler=\"\${cross_cc_$arch}\""
>
> - if has "$target_compiler"; then
> + if has $target_compiler; then
> if test "$supress_clang" = yes &&
> $target_compiler --version | grep -qi "clang"; then
> got_cross_cc=no
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v1 2/6] meson.build: fix cosmetics of compiler display
2021-05-27 16:03 ` [PATCH v1 2/6] meson.build: fix cosmetics of compiler display Alex Bennée
2021-05-27 17:38 ` Richard Henderson
@ 2021-05-28 11:05 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 15+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-28 11:05 UTC (permalink / raw)
To: Alex Bennée, qemu-devel
Cc: fam, Thomas Huth, berrange, stefanha, crosa, pbonzini, aurelien
On 5/27/21 6:03 PM, Alex Bennée wrote:
> If you specify something like --cc="ccache gcc" on your configure line
> the summary output misses the rest of the cmd_array. Do some string
> joining to make it complete.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Tested-by: Thomas Huth <thuth@redhat.com>
> ---
> meson.build | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2021-05-28 11:06 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27 16:03 [PATCH v1 0/6] testing/next queue (signal, meson, acceptance tags) Alex Bennée
2021-05-27 16:03 ` [PATCH v1 1/6] tests/tcg: add a multiarch signals test to stress test signal delivery Alex Bennée
2021-05-27 17:37 ` Richard Henderson
2021-05-27 16:03 ` [PATCH v1 2/6] meson.build: fix cosmetics of compiler display Alex Bennée
2021-05-27 17:38 ` Richard Henderson
2021-05-28 11:05 ` Philippe Mathieu-Daudé
2021-05-27 16:03 ` [PATCH v1 3/6] tests/tcg/configure.sh: tweak quoting of target_compiler Alex Bennée
2021-05-28 4:39 ` Thomas Huth
2021-05-27 16:03 ` [PATCH v1 4/6] gitlab-ci: Convert check-dco/check-patch jobs to the 'rules' syntax Alex Bennée
2021-05-27 16:03 ` [PATCH v1 5/6] tests/acceptance: tweak the tcg/kvm tests for virt Alex Bennée
2021-05-27 17:40 ` Richard Henderson
2021-05-27 19:08 ` Willian Rampazzo
2021-05-27 16:03 ` [PATCH v1 6/6] tests/acceptance: tag various arm tests as TCG only Alex Bennée
2021-05-27 17:49 ` Richard Henderson
2021-05-27 19:09 ` Willian Rampazzo
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.