* [PATCH 0/2] gitlab: Add config for Loongarch64 custom runner
@ 2024-01-02 17:22 Philippe Mathieu-Daudé
2024-01-02 17:22 ` [PATCH 1/2] gitlab: Introduce Loongarch64 runner Philippe Mathieu-Daudé
2024-01-02 17:22 ` [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build Philippe Mathieu-Daudé
0 siblings, 2 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-02 17:22 UTC (permalink / raw)
To: qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Thomas Huth, Bibo Mao,
Song Gao, Xiaojuan Yang, Beraldo Leal, WANG Xuerui,
Alex Bennée, Philippe Mathieu-Daudé, Xianglai Li,
Tianrui Zhao
Loongson Technology Corporation Limited offered to sponsor QEMU
with a Loongarch64 custom runner.
Philippe Mathieu-Daudé (2):
gitlab: Introduce Loongarch64 runner
gitlab: Add Loongarch64 KVM-only build
docs/devel/ci-jobs.rst.inc | 6 +++
.gitlab-ci.d/custom-runners.yml | 1 +
.../openeuler-22.03-loongarch64.yml | 43 +++++++++++++++++++
3 files changed, 50 insertions(+)
create mode 100644 .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
--
2.41.0
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-02 17:22 [PATCH 0/2] gitlab: Add config for Loongarch64 custom runner Philippe Mathieu-Daudé
@ 2024-01-02 17:22 ` Philippe Mathieu-Daudé
2024-01-11 7:08 ` Thomas Huth
2024-01-02 17:22 ` [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build Philippe Mathieu-Daudé
1 sibling, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-02 17:22 UTC (permalink / raw)
To: qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Thomas Huth, Bibo Mao,
Song Gao, Xiaojuan Yang, Beraldo Leal, WANG Xuerui,
Alex Bennée, Philippe Mathieu-Daudé, Xianglai Li,
Tianrui Zhao
Full build config to run CI tests on a Loongarch64 host.
Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
in their CI namespace settings, see:
https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
docs/devel/ci-jobs.rst.inc | 6 ++++++
.gitlab-ci.d/custom-runners.yml | 1 +
.../openeuler-22.03-loongarch64.yml | 21 +++++++++++++++++++
3 files changed, 28 insertions(+)
create mode 100644 .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc
index 4c39cdb2d9..b821a33112 100644
--- a/docs/devel/ci-jobs.rst.inc
+++ b/docs/devel/ci-jobs.rst.inc
@@ -189,6 +189,12 @@ used as a gitlab-CI runner, you can set this variable to enable the
tests that require this kind of host. The runner should be tagged with
both "centos_stream_8" and "x86_64".
+LOONGARCH64_RUNNER_AVAILABLE
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If you've got access to a Loongarch64 host that can be used as a gitlab-CI
+runner, you can set this variable to enable the tests that require this
+kind of host. The runner should be tagged with "loongarch64".
+
CCACHE_DISABLE
~~~~~~~~~~~~~~
The jobs are configured to use "ccache" by default since this typically
diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
index 8e5b9500f4..152ace4492 100644
--- a/.gitlab-ci.d/custom-runners.yml
+++ b/.gitlab-ci.d/custom-runners.yml
@@ -32,3 +32,4 @@ include:
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
- local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
- local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
+ - local: '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
diff --git a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
new file mode 100644
index 0000000000..86d18f820e
--- /dev/null
+++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
@@ -0,0 +1,21 @@
+openeuler-22.03-loongarch64-all:
+ extends: .custom_runner_template
+ needs: []
+ stage: build
+ tags:
+ - oe2203
+ - loongarch64
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
+ when: manual
+ allow_failure: true
+ - if: "$LOONGARCH64_RUNNER_AVAILABLE"
+ when: manual
+ allow_failure: true
+ script:
+ - mkdir build
+ - cd build
+ - ../configure
+ || { cat config.log meson-logs/meson-log.txt; exit 1; }
+ - make --output-sync -j`nproc --ignore=40`
+ - make --output-sync -j`nproc --ignore=40` check
--
2.41.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-02 17:22 [PATCH 0/2] gitlab: Add config for Loongarch64 custom runner Philippe Mathieu-Daudé
2024-01-02 17:22 ` [PATCH 1/2] gitlab: Introduce Loongarch64 runner Philippe Mathieu-Daudé
@ 2024-01-02 17:22 ` Philippe Mathieu-Daudé
2024-01-11 7:10 ` Thomas Huth
1 sibling, 1 reply; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-02 17:22 UTC (permalink / raw)
To: qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Thomas Huth, Bibo Mao,
Song Gao, Xiaojuan Yang, Beraldo Leal, WANG Xuerui,
Alex Bennée, Philippe Mathieu-Daudé, Xianglai Li,
Tianrui Zhao
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Used to test https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
---
.../openeuler-22.03-loongarch64.yml | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
index 86d18f820e..60674b8d0f 100644
--- a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
+++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
@@ -19,3 +19,25 @@ openeuler-22.03-loongarch64-all:
|| { cat config.log meson-logs/meson-log.txt; exit 1; }
- make --output-sync -j`nproc --ignore=40`
- make --output-sync -j`nproc --ignore=40` check
+
+openeuler-22.03-loongarch64-kvm:
+ extends: .custom_runner_template
+ needs: []
+ stage: build
+ tags:
+ - oe2203
+ - loongarch64
+ rules:
+ - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
+ when: manual
+ allow_failure: true
+ - if: "$LOONGARCH64_RUNNER_AVAILABLE"
+ when: manual
+ allow_failure: true
+ script:
+ - mkdir build
+ - cd build
+ - ../configure --enable-kvm --disable-tcg
+ || { cat config.log meson-logs/meson-log.txt; exit 1; }
+ - make --output-sync -j`nproc --ignore=40`
+ - make --output-sync -j`nproc --ignore=40` check
--
2.41.0
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-02 17:22 ` [PATCH 1/2] gitlab: Introduce Loongarch64 runner Philippe Mathieu-Daudé
@ 2024-01-11 7:08 ` Thomas Huth
2024-01-11 7:25 ` gaosong
0 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2024-01-11 7:08 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Song Gao,
Xiaojuan Yang, Beraldo Leal, WANG Xuerui, Alex Bennée,
Xianglai Li, Tianrui Zhao
On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
> Full build config to run CI tests on a Loongarch64 host.
>
> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
> in their CI namespace settings, see:
> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> docs/devel/ci-jobs.rst.inc | 6 ++++++
> .gitlab-ci.d/custom-runners.yml | 1 +
> .../openeuler-22.03-loongarch64.yml | 21 +++++++++++++++++++
> 3 files changed, 28 insertions(+)
> create mode 100644 .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>
...
> diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
> index 8e5b9500f4..152ace4492 100644
> --- a/.gitlab-ci.d/custom-runners.yml
> +++ b/.gitlab-ci.d/custom-runners.yml
> @@ -32,3 +32,4 @@ include:
> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
> + - local: '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
> diff --git a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
> new file mode 100644
> index 0000000000..86d18f820e
> --- /dev/null
> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
> @@ -0,0 +1,21 @@
> +openeuler-22.03-loongarch64-all:
> + extends: .custom_runner_template
> + needs: []
> + stage: build
> + tags:
> + - oe2203
> + - loongarch64
> + rules:
> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
> + when: manual
> + allow_failure: true
> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
> + when: manual
> + allow_failure: true
> + script:
> + - mkdir build
> + - cd build
> + - ../configure
> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
> + - make --output-sync -j`nproc --ignore=40`
> + - make --output-sync -j`nproc --ignore=40` check
Does this system really have more than 40 CPU threads? Or is this a
copy-n-past from one of the other scripts? In the latter case, I'd suggest
to adjust the --ignore=40 to a more reasonable value.
Thomas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-02 17:22 ` [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build Philippe Mathieu-Daudé
@ 2024-01-11 7:10 ` Thomas Huth
2024-01-11 7:37 ` gaosong
2024-01-11 9:26 ` Philippe Mathieu-Daudé
0 siblings, 2 replies; 20+ messages in thread
From: Thomas Huth @ 2024-01-11 7:10 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Song Gao,
Xiaojuan Yang, Beraldo Leal, WANG Xuerui, Alex Bennée,
Xianglai Li, Tianrui Zhao
On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> Used to test https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
loongarch in the long run?
Thomas
> ---
> .../openeuler-22.03-loongarch64.yml | 22 +++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
> index 86d18f820e..60674b8d0f 100644
> --- a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
> @@ -19,3 +19,25 @@ openeuler-22.03-loongarch64-all:
> || { cat config.log meson-logs/meson-log.txt; exit 1; }
> - make --output-sync -j`nproc --ignore=40`
> - make --output-sync -j`nproc --ignore=40` check
> +
> +openeuler-22.03-loongarch64-kvm:
> + extends: .custom_runner_template
> + needs: []
> + stage: build
> + tags:
> + - oe2203
> + - loongarch64
> + rules:
> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
> + when: manual
> + allow_failure: true
> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
> + when: manual
> + allow_failure: true
> + script:
> + - mkdir build
> + - cd build
> + - ../configure --enable-kvm --disable-tcg
> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
> + - make --output-sync -j`nproc --ignore=40`
> + - make --output-sync -j`nproc --ignore=40` check
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-11 7:08 ` Thomas Huth
@ 2024-01-11 7:25 ` gaosong
2024-01-11 8:26 ` Thomas Huth
0 siblings, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-11 7:25 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
Hi,
在 2024/1/11 下午3:08, Thomas Huth 写道:
> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>> Full build config to run CI tests on a Loongarch64 host.
>>
>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>> in their CI namespace settings, see:
>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>> .gitlab-ci.d/custom-runners.yml | 1 +
>> .../openeuler-22.03-loongarch64.yml | 21 +++++++++++++++++++
>> 3 files changed, 28 insertions(+)
>> create mode 100644
>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>
> ...
>> diff --git a/.gitlab-ci.d/custom-runners.yml
>> b/.gitlab-ci.d/custom-runners.yml
>> index 8e5b9500f4..152ace4492 100644
>> --- a/.gitlab-ci.d/custom-runners.yml
>> +++ b/.gitlab-ci.d/custom-runners.yml
>> @@ -32,3 +32,4 @@ include:
>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>> + - local:
>> '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>> diff --git
>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> new file mode 100644
>> index 0000000000..86d18f820e
>> --- /dev/null
>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> @@ -0,0 +1,21 @@
>> +openeuler-22.03-loongarch64-all:
>> + extends: .custom_runner_template :-)
>> + needs: []
>> + stage: build
>> + tags:
>> + - oe2203
>> + - loongarch64
>> + rules:
>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH
>> =~ /^staging/'
>> + when: manual
>> + allow_failure: true
>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>> + when: manual
>> + allow_failure: true
>> + script:
>> + - mkdir build
>> + - cd build
>> + - ../configure
>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>> + - make --output-sync -j`nproc --ignore=40`
>> + - make --output-sync -j`nproc --ignore=40` check
>
> Does this system really have more than 40 CPU threads? Or is this a
> copy-n-past from one of the other scripts? In the latter case, I'd
> suggest to adjust the --ignore=40 to a more reasonable value.
>
> Thomas
No, only 32. I think it should be --ignore=32 or 16.
I create a same runner on this machine, and I find some check error.
but I am not sure how to fix it. :-)
See:
https://gitlab.com/gaosong/qemu/-/jobs/5906269934
Thanks.
Song Gao
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 7:10 ` Thomas Huth
@ 2024-01-11 7:37 ` gaosong
2024-01-11 8:20 ` Thomas Huth
2024-01-11 9:26 ` Philippe Mathieu-Daudé
1 sibling, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-11 7:37 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
Hi,
在 2024/1/11 下午3:10, Thomas Huth 写道:
> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> Used to test
>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>
> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
> loongarch in the long run?
>
> Thomas
>
I think we can drop this title.
I tested this job by the latest loongarch kvm patches. buf I find a
test-hmp check error.
See:
https://gitlab.com/gaosong/qemu/-/jobs/5906385234
If you want to log in to this machine, we can create an account for you.
Thanks.
Song Gao
>
>> ---
>> .../openeuler-22.03-loongarch64.yml | 22 +++++++++++++++++++
>> 1 file changed, 22 insertions(+)
>>
>> diff --git
>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> index 86d18f820e..60674b8d0f 100644
>> --- a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>> @@ -19,3 +19,25 @@ openeuler-22.03-loongarch64-all:
>> || { cat config.log meson-logs/meson-log.txt; exit 1; }
>> - make --output-sync -j`nproc --ignore=40`
>> - make --output-sync -j`nproc --ignore=40` check
>> +
>> +openeuler-22.03-loongarch64-kvm:
>> + extends: .custom_runner_template
>> + needs: []
>> + stage: build
>> + tags:
>> + - oe2203
>> + - loongarch64
>> + rules:
>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH
>> =~ /^staging/'
>> + when: manual
>> + allow_failure: true
>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>> + when: manual
>> + allow_failure: true
>> + script:
>> + - mkdir build
>> + - cd build
>> + - ../configure --enable-kvm --disable-tcg
>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>> + - make --output-sync -j`nproc --ignore=40`
>> + - make --output-sync -j`nproc --ignore=40` check
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 7:37 ` gaosong
@ 2024-01-11 8:20 ` Thomas Huth
2024-01-11 8:50 ` gaosong
0 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2024-01-11 8:20 UTC (permalink / raw)
To: gaosong, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
On 11/01/2024 08.37, gaosong wrote:
> Hi,
>
> 在 2024/1/11 下午3:10, Thomas Huth 写道:
>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> ---
>>> Used to test
>>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>>
>> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
>> loongarch in the long run?
>>
>> Thomas
>>
> I think we can drop this title.
>
> I tested this job by the latest loongarch kvm patches. buf I find a
> test-hmp check error.
Can you recreate the error manually? i.e. compile with configure
--disable-tcg and then run:
V=2 QTEST_QEMU_BINARY=./qemu-system-loongarch64 tests/qtest/test-hmp
That should likely provide you with a hint where it is crashing
Thomas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-11 7:25 ` gaosong
@ 2024-01-11 8:26 ` Thomas Huth
2024-01-11 12:05 ` gaosong
2024-01-12 9:52 ` gaosong
0 siblings, 2 replies; 20+ messages in thread
From: Thomas Huth @ 2024-01-11 8:26 UTC (permalink / raw)
To: gaosong, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
On 11/01/2024 08.25, gaosong wrote:
> Hi,
>
> 在 2024/1/11 下午3:08, Thomas Huth 写道:
>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>> Full build config to run CI tests on a Loongarch64 host.
>>>
>>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>>> in their CI namespace settings, see:
>>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>> ---
>>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>>> .gitlab-ci.d/custom-runners.yml | 1 +
>>> .../openeuler-22.03-loongarch64.yml | 21 +++++++++++++++++++
>>> 3 files changed, 28 insertions(+)
>>> create mode 100644
>>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>
>> ...
>>> diff --git a/.gitlab-ci.d/custom-runners.yml
>>> b/.gitlab-ci.d/custom-runners.yml
>>> index 8e5b9500f4..152ace4492 100644
>>> --- a/.gitlab-ci.d/custom-runners.yml
>>> +++ b/.gitlab-ci.d/custom-runners.yml
>>> @@ -32,3 +32,4 @@ include:
>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>>> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>>> + - local: '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>>> diff --git a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>> new file mode 100644
>>> index 0000000000..86d18f820e
>>> --- /dev/null
>>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>> @@ -0,0 +1,21 @@
>>> +openeuler-22.03-loongarch64-all:
>>> + extends: .custom_runner_template :-)
>>> + needs: []
>>> + stage: build
>>> + tags:
>>> + - oe2203
>>> + - loongarch64
>>> + rules:
>>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~
>>> /^staging/'
>>> + when: manual
>>> + allow_failure: true
>>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>>> + when: manual
>>> + allow_failure: true
>>> + script:
>>> + - mkdir build
>>> + - cd build
>>> + - ../configure
>>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>>> + - make --output-sync -j`nproc --ignore=40`
>>> + - make --output-sync -j`nproc --ignore=40` check
>>
>> Does this system really have more than 40 CPU threads? Or is this a
>> copy-n-past from one of the other scripts? In the latter case, I'd suggest
>> to adjust the --ignore=40 to a more reasonable value.
>>
>> Thomas
> No, only 32. I think it should be --ignore=32 or 16.
--ignore=32 then also does not make much sense, that would still be the same
as simply omitting the -j parameter. I guess --ignore=16 should be fine.
> I create a same runner on this machine, and I find some check error.
> but I am not sure how to fix it. :-)
>
> See:
>
> https://gitlab.com/gaosong/qemu/-/jobs/5906269934
Seems to be related to RAM backing... for example, the erst-test is failing,
which is doing something like:
setup_vm_cmd(&state,
"-object memory-backend-file,"
"mem-path=acpi-erst.XXXXXX,"
"size=64K,"
"share=on,"
"id=nvram "
"-device acpi-erst,"
"memdev=nvram");
So it seems like -object memory-backend-file" is not correctly working in
your gitlab runner? Is there some setup missing?
Thomas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 8:20 ` Thomas Huth
@ 2024-01-11 8:50 ` gaosong
2024-01-11 9:04 ` Thomas Huth
0 siblings, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-11 8:50 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
在 2024/1/11 下午4:20, Thomas Huth 写道:
> On 11/01/2024 08.37, gaosong wrote:
>> Hi,
>>
>> 在 2024/1/11 下午3:10, Thomas Huth 写道:
>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>> ---
>>>> Used to test
>>>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>>>
>>> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
>>> loongarch in the long run?
>>>
>>> Thomas
>>>
>> I think we can drop this title.
>>
>> I tested this job by the latest loongarch kvm patches. buf I find a
>> test-hmp check error.
> Can you recreate the error manually? i.e. compile with configure
> --disable-tcg and then run:
>
> V=2 QTEST_QEMU_BINARY=./qemu-system-loongarch64 tests/qtest/test-hmp
>
> That should likely provide you with a hint where it is crashing
>
> Thomas
Thank you,
LoongArch no support these cmds or some problems .
- "gva2gpa 0",
- "memsave 0 4096 \"/dev/null\"",
- "x /8i 0x100",
- "xp /16x 0",
Could we disable these 4 cmds or the test_temp check?
After we fix the cmds problems, we can enable them.
Thanks.
Song gao
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 8:50 ` gaosong
@ 2024-01-11 9:04 ` Thomas Huth
2024-01-11 9:51 ` gaosong
0 siblings, 1 reply; 20+ messages in thread
From: Thomas Huth @ 2024-01-11 9:04 UTC (permalink / raw)
To: gaosong, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
On 11/01/2024 09.50, gaosong wrote:
> 在 2024/1/11 下午4:20, Thomas Huth 写道:
>> On 11/01/2024 08.37, gaosong wrote:
>>> Hi,
>>>
>>> 在 2024/1/11 下午3:10, Thomas Huth 写道:
>>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>>> ---
>>>>> Used to test
>>>>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>>>>
>>>> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
>>>> loongarch in the long run?
>>>>
>>>> Thomas
>>>>
>>> I think we can drop this title.
>>>
>>> I tested this job by the latest loongarch kvm patches. buf I find a
>>> test-hmp check error.
>> Can you recreate the error manually? i.e. compile with configure
>> --disable-tcg and then run:
>>
>> V=2 QTEST_QEMU_BINARY=./qemu-system-loongarch64 tests/qtest/test-hmp
>>
>> That should likely provide you with a hint where it is crashing
>>
>> Thomas
> Thank you,
>
> LoongArch no support these cmds or some problems .
> - "gva2gpa 0",
> - "memsave 0 4096 \"/dev/null\"",
> - "x /8i 0x100",
> - "xp /16x 0",
>
> Could we disable these 4 cmds or the test_temp check?
> After we fix the cmds problems, we can enable them.
Even if loongarch does not support one of these commands, it should not
crash QEMU. So please fix the crashes first before considering to enable the
KVM-only test in the CI.
Thanks
Thomas
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 7:10 ` Thomas Huth
2024-01-11 7:37 ` gaosong
@ 2024-01-11 9:26 ` Philippe Mathieu-Daudé
1 sibling, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-11 9:26 UTC (permalink / raw)
To: Thomas Huth, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Song Gao,
Xiaojuan Yang, Beraldo Leal, WANG Xuerui, Alex Bennée,
Xianglai Li, Tianrui Zhao
On 11/1/24 08:10, Thomas Huth wrote:
> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> Used to test
>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>
> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds for
> loongarch in the long run?
We do. I was just waiting the loongarch64/KVM support was first.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 9:04 ` Thomas Huth
@ 2024-01-11 9:51 ` gaosong
2024-01-11 11:26 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-11 9:51 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
在 2024/1/11 下午5:04, Thomas Huth 写道:
> On 11/01/2024 09.50, gaosong wrote:
>> 在 2024/1/11 下午4:20, Thomas Huth 写道:
>>> On 11/01/2024 08.37, gaosong wrote:
>>>> Hi,
>>>>
>>>> 在 2024/1/11 下午3:10, Thomas Huth 写道:
>>>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>>>> ---
>>>>>> Used to test
>>>>>> https://lore.kernel.org/qemu-devel/20231228084051.3235354-1-zhaotianrui@loongson.cn/
>>>>>
>>>>> So why is it NOTFORMERGE ? Don't we want to test KVM-only builds
>>>>> for loongarch in the long run?
>>>>>
>>>>> Thomas
>>>>>
>>>> I think we can drop this title.
>>>>
>>>> I tested this job by the latest loongarch kvm patches. buf I find
>>>> a test-hmp check error.
>>> Can you recreate the error manually? i.e. compile with configure
>>> --disable-tcg and then run:
>>>
>>> V=2 QTEST_QEMU_BINARY=./qemu-system-loongarch64 tests/qtest/test-hmp
>>>
>>> That should likely provide you with a hint where it is crashing
>>>
>>> Thomas
>> Thank you,
>>
>> LoongArch no support these cmds or some problems .
>> - "gva2gpa 0",
>> - "memsave 0 4096 \"/dev/null\"",
>> - "x /8i 0x100",
>> - "xp /16x 0",
>>
>> Could we disable these 4 cmds or the test_temp check?
>> After we fix the cmds problems, we can enable them.
>
> Even if loongarch does not support one of these commands, it should
> not crash QEMU. So please fix the crashes first before considering to
> enable the KVM-only test in the CI.
>
Sure, we will fix the cmds problems first.
Thanks.
Song Gao
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 9:51 ` gaosong
@ 2024-01-11 11:26 ` Philippe Mathieu-Daudé
2024-01-11 11:41 ` gaosong
2024-01-24 8:56 ` gaosong
0 siblings, 2 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-11 11:26 UTC (permalink / raw)
To: gaosong, Thomas Huth, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
On 11/1/24 10:51, gaosong wrote:
> 在 2024/1/11 下午5:04, Thomas Huth 写道:
>> On 11/01/2024 09.50, gaosong wrote:
>>> 在 2024/1/11 下午4:20, Thomas Huth 写道:
>>>> On 11/01/2024 08.37, gaosong wrote:
>>> LoongArch no support these cmds or some problems .
>>> - "gva2gpa 0",
>>> - "memsave 0 4096 \"/dev/null\"",
>>> - "x /8i 0x100",
>>> - "xp /16x 0",
>>>
>>> Could we disable these 4 cmds or the test_temp check?
>>> After we fix the cmds problems, we can enable them.
>>
>> Even if loongarch does not support one of these commands, it should
>> not crash QEMU. So please fix the crashes first before considering to
>> enable the KVM-only test in the CI.
>>
>
> Sure, we will fix the cmds problems first.
The issue might be missing get_phys_page_attrs_debug() implementation.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 11:26 ` Philippe Mathieu-Daudé
@ 2024-01-11 11:41 ` gaosong
2024-01-24 8:56 ` gaosong
1 sibling, 0 replies; 20+ messages in thread
From: gaosong @ 2024-01-11 11:41 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Thomas Huth, Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao,
Xiaojuan Yang, Beraldo Leal, WANG Xuerui, Alex Bennée,
Xianglai Li, Tianrui Zhao
在 2024/1/11 下午7:26, Philippe Mathieu-Daudé 写道:
> On 11/1/24 10:51, gaosong wrote:
>> 在 2024/1/11 下午5:04, Thomas Huth 写道:
>>> On 11/01/2024 09.50, gaosong wrote:
>>>> 在 2024/1/11 下午4:20, Thomas Huth 写道:
>>>>> On 11/01/2024 08.37, gaosong wrote:
>
>>>> LoongArch no support these cmds or some problems .
>>>> - "gva2gpa 0",
>>>> - "memsave 0 4096 \"/dev/null\"",
>>>> - "x /8i 0x100",
>>>> - "xp /16x 0",
>>>>
>>>> Could we disable these 4 cmds or the test_temp check?
>>>> After we fix the cmds problems, we can enable them.
>>>
>>> Even if loongarch does not support one of these commands, it should
>>> not crash QEMU. So please fix the crashes first before considering
>>> to enable the KVM-only test in the CI.
>>>
>>
>> Sure, we will fix the cmds problems first.
>
> The issue might be missing get_phys_page_attrs_debug() implementation.
yes, I see, from hmp_gva2gpa(). I think we need implement it.
Thanks.
Song Gao
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-11 8:26 ` Thomas Huth
@ 2024-01-11 12:05 ` gaosong
2024-01-11 13:11 ` Philippe Mathieu-Daudé
2024-01-12 9:52 ` gaosong
1 sibling, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-11 12:05 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
在 2024/1/11 下午4:26, Thomas Huth 写道:
> On 11/01/2024 08.25, gaosong wrote:
>> Hi,
>>
>> 在 2024/1/11 下午3:08, Thomas Huth 写道:
>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>> Full build config to run CI tests on a Loongarch64 host.
>>>>
>>>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>>>> in their CI namespace settings, see:
>>>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>>>
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>> ---
>>>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>>>> .gitlab-ci.d/custom-runners.yml | 1 +
>>>> .../openeuler-22.03-loongarch64.yml | 21
>>>> +++++++++++++++++++
>>>> 3 files changed, 28 insertions(+)
>>>> create mode 100644
>>>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>
>>> ...
>>>> diff --git a/.gitlab-ci.d/custom-runners.yml
>>>> b/.gitlab-ci.d/custom-runners.yml
>>>> index 8e5b9500f4..152ace4492 100644
>>>> --- a/.gitlab-ci.d/custom-runners.yml
>>>> +++ b/.gitlab-ci.d/custom-runners.yml
>>>> @@ -32,3 +32,4 @@ include:
>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>>>> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>>>> + - local:
>>>> '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>>>> diff --git
>>>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> new file mode 100644
>>>> index 0000000000..86d18f820e
>>>> --- /dev/null
>>>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> @@ -0,0 +1,21 @@
>>>> +openeuler-22.03-loongarch64-all:
>>>> + extends: .custom_runner_template :-)
>>>> + needs: []
>>>> + stage: build
>>>> + tags:
>>>> + - oe2203
>>>> + - loongarch64
>>>> + rules:
>>>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" &&
>>>> $CI_COMMIT_BRANCH =~ /^staging/'
>>>> + when: manual
>>>> + allow_failure: true
>>>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>>>> + when: manual
>>>> + allow_failure: true
>>>> + script:
>>>> + - mkdir build
>>>> + - cd build
>>>> + - ../configure
>>>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>>>> + - make --output-sync -j`nproc --ignore=40`
>>>> + - make --output-sync -j`nproc --ignore=40` check
>>>
>>> Does this system really have more than 40 CPU threads? Or is this a
>>> copy-n-past from one of the other scripts? In the latter case, I'd
>>> suggest to adjust the --ignore=40 to a more reasonable value.
>>>
>>> Thomas
>> No, only 32. I think it should be --ignore=32 or 16.
>
> --ignore=32 then also does not make much sense, that would still be
> the same as simply omitting the -j parameter. I guess --ignore=16
> should be fine.
>
>> I create a same runner on this machine, and I find some check error.
>> but I am not sure how to fix it. :-)
>>
>> See:
>>
>> https://gitlab.com/gaosong/qemu/-/jobs/5906269934
>
> Seems to be related to RAM backing... for example, the erst-test is
> failing, which is doing something like:
>
> setup_vm_cmd(&state,
> "-object memory-backend-file,"
> "mem-path=acpi-erst.XXXXXX,"
> "size=64K,"
> "share=on,"
> "id=nvram "
> "-device acpi-erst,"
> "memdev=nvram");
>
> So it seems like -object memory-backend-file" is not correctly working
> in your gitlab runner? Is there some setup missing?
>
> Thomas
>
>
This is my runner config.
concurrent = 32
check_interval = 0
shutdown_timeout = 0
[session_server]
session_timeout = 1800
...
[[runners]]
name = "loongarch64"
request_concurrency = 24
url = "https://gitlab.com"
id = 31426483
token = "glrt-bGugocYrR2yqcu3ma7ka"
token_obtained_at = 2024-01-10T08:31:29Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "shell"
builds_dir = "/data/gitlab-runner/builds"
cache_dir = "/data/gitlab-runner/cache"
[runners.cache]
MaxUploadedArchiveSize = 0
I create a project runner 'loongarch64' for my branch ci-master.
Do we need some special configuration?
and I just './configure --target-list="x86_64-softmmu"
--enable-debug' on LoongArch host. make , make check.
I got the same error.
[7/361] 🌗 qemu:qtest+qtest-x86_64 /
qtest-x86_64/qos-test 2928s 60
subtests passed
^CWARNING: Received SIGTERM, exiting
7/361 qemu:qtest+qtest-x86_64 /
qtest-x86_64/qos-test INTERRUPT 4671.32s killed
by signal 11 SIGSEGV
>>> PYTHON=/home/gs/gitlab/qemu/build/pyvenv/bin/python3
G_TEST_DBUS_DAEMON=/home/gs/gitlab/qemu/tests/dbus-vmstate-daemon.sh
MALLOC_PERTURB_=198 QTEST_QEMU_IMG=./qemu-img
QTEST_QEMU_BINARY=./qemu-system-x86_64
QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon
/home/gs/gitlab/qemu/build/tests/qtest/qos-test --tap -k
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
stderr:
qemu-system-x86_64: unable to map backing store for guest RAM: Invalid
argument
Broken pipe
../tests/qtest/libqtest.c:195: kill_qemu() tried to terminate QEMU
process but encountered exit status 1 (expected 0)
TAP parsing error: Too few tests run (expected 119, got 60)
I also use V=2 to check.
PYTHON=/home/gs/gitlab/qemu/build/pyvenv/bin/python3
G_TEST_DBUS_DAEMON=/home/gs/gitlab/qemu/tests/dbus-vmstate-daemon.sh
QTEST_QEMU_IMG=./qemu-img V=2 QTEST_QEMU_BINARY=./qemu-system-x86_64
QTEST_QEMU_STORAGE_DAEMON_BINARY=./storage-daemon/qemu-storage-daemon
MALLOC_PERTURB_=220
/home/gs/gitlab/qemu/build/tests/qtest/bios-tables-test --tap -k
I got the error:
...
Looking for expected file 'tests/data/acpi/pc/FACS'
Using expected file 'tests/data/acpi/pc/FACS'
Looking for expected file 'tests/data/acpi/pc/DSDT.acpihmat'
Using expected file 'tests/data/acpi/pc/DSDT.acpihmat'
ok 15 /x86_64/acpi/piix4/acpihmat
# starting QEMU: exec ./qemu-system-x86_64 -qtest
unix:/tmp/qtest-923048.sock -qtest-log /dev/null -chardev
socket,path=/tmp/qtest-923048.qmp,id=char0 -mon
chardev=char0,mode=control -display none -audio none -machine pc -accel
kvm -accel tcg -net none -object
memory-backend-file,id=erstnvram,mem-path=/tmp/qemu-test-erst.N41SG2,size=0x10000,share=on
-device acpi-erst,memdev=erstnvram -drive
id=hd0,if=none,file=tests/acpi-test-disk-KIDwOM,format=raw -device
ide-hd,drive=hd0 -accel qtest
qemu-system-x86_64: unable to map backing store for guest RAM: Invalid
argument
Broken pipe
../tests/qtest/libqtest.c:195: kill_qemu() tried to terminate QEMU
process but encountered exit status 1 (expected 0)
Aborted (core dumped)
is there need some special package for '-object memory-backend-file' ?
Thanks.
Song Gao
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-11 12:05 ` gaosong
@ 2024-01-11 13:11 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-01-11 13:11 UTC (permalink / raw)
To: gaosong, Thomas Huth, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
On 11/1/24 13:05, gaosong wrote:
> 在 2024/1/11 下午4:26, Thomas Huth 写道:
>> On 11/01/2024 08.25, gaosong wrote:
>>> Hi,
>>>
>>> 在 2024/1/11 下午3:08, Thomas Huth 写道:
>>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>>> Full build config to run CI tests on a Loongarch64 host.
>>>>>
>>>>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>>>>> in their CI namespace settings, see:
>>>>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>>>>
>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>>> ---
>>>>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>>>>> .gitlab-ci.d/custom-runners.yml | 1 +
>>>>> .../openeuler-22.03-loongarch64.yml | 21
>>>>> +++++++++++++++++++
>>>>> 3 files changed, 28 insertions(+)
>>>>> create mode 100644
>>>>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>>
>>>> ...
>>>>> diff --git a/.gitlab-ci.d/custom-runners.yml
>>>>> b/.gitlab-ci.d/custom-runners.yml
>>>>> index 8e5b9500f4..152ace4492 100644
>>>>> --- a/.gitlab-ci.d/custom-runners.yml
>>>>> +++ b/.gitlab-ci.d/custom-runners.yml
>>>>> @@ -32,3 +32,4 @@ include:
>>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>>>>> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>>>>> + - local:
>>>>> '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>>>>> diff --git
>>>>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> new file mode 100644
>>>>> index 0000000000..86d18f820e
>>>>> --- /dev/null
>>>>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> @@ -0,0 +1,21 @@
>>>>> +openeuler-22.03-loongarch64-all:
>>>>> + extends: .custom_runner_template :-)
>>>>> + needs: []
>>>>> + stage: build
>>>>> + tags:
>>>>> + - oe2203
>>>>> + - loongarch64
>>>>> + rules:
>>>>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" &&
>>>>> $CI_COMMIT_BRANCH =~ /^staging/'
>>>>> + when: manual
>>>>> + allow_failure: true
>>>>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>>>>> + when: manual
>>>>> + allow_failure: true
>>>>> + script:
>>>>> + - mkdir build
>>>>> + - cd build
>>>>> + - ../configure
>>>>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>>>>> + - make --output-sync -j`nproc --ignore=40`
>>>>> + - make --output-sync -j`nproc --ignore=40` check
>>>>
>>>> Does this system really have more than 40 CPU threads? Or is this a
>>>> copy-n-past from one of the other scripts? In the latter case, I'd
>>>> suggest to adjust the --ignore=40 to a more reasonable value.
>>>>
>>>> Thomas
>>> No, only 32. I think it should be --ignore=32 or 16.
>>
>> --ignore=32 then also does not make much sense, that would still be
>> the same as simply omitting the -j parameter. I guess --ignore=16
>> should be fine.
>>
>>> I create a same runner on this machine, and I find some check error.
>>> but I am not sure how to fix it. :-)
>>>
>>> See:
>>>
>>> https://gitlab.com/gaosong/qemu/-/jobs/5906269934
>>
>> Seems to be related to RAM backing... for example, the erst-test is
>> failing, which is doing something like:
>>
>> setup_vm_cmd(&state,
>> "-object memory-backend-file,"
>> "mem-path=acpi-erst.XXXXXX,"
>> "size=64K,"
>> "share=on,"
>> "id=nvram "
>> "-device acpi-erst,"
>> "memdev=nvram");
>>
>> So it seems like -object memory-backend-file" is not correctly working
>> in your gitlab runner? Is there some setup missing?
>>
>> Thomas
>>
>>
> This is my runner config.
>
> concurrent = 32
> check_interval = 0
> shutdown_timeout = 0
>
> [session_server]
> session_timeout = 1800
>
> ...
>
> [[runners]]
> name = "loongarch64"
> request_concurrency = 24
> url = "https://gitlab.com"
> id = 31426483
> token = "glrt-bGugocYrR2yqcu3ma7ka"
> token_obtained_at = 2024-01-10T08:31:29Z
> token_expires_at = 0001-01-01T00:00:00Z
> executor = "shell"
> builds_dir = "/data/gitlab-runner/builds"
> cache_dir = "/data/gitlab-runner/cache"
> [runners.cache]
> MaxUploadedArchiveSize = 0
>
> I create a project runner 'loongarch64' for my branch ci-master.
> Do we need some special configuration?
We need to follow this process:
https://lore.kernel.org/qemu-devel/20240104160805.56856-1-philmd@linaro.org/
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-11 8:26 ` Thomas Huth
2024-01-11 12:05 ` gaosong
@ 2024-01-12 9:52 ` gaosong
2024-01-15 10:08 ` gaosong
1 sibling, 1 reply; 20+ messages in thread
From: gaosong @ 2024-01-12 9:52 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
在 2024/1/11 下午4:26, Thomas Huth 写道:
> On 11/01/2024 08.25, gaosong wrote:
>> Hi,
>>
>> 在 2024/1/11 下午3:08, Thomas Huth 写道:
>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>> Full build config to run CI tests on a Loongarch64 host.
>>>>
>>>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>>>> in their CI namespace settings, see:
>>>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>>>
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>> ---
>>>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>>>> .gitlab-ci.d/custom-runners.yml | 1 +
>>>> .../openeuler-22.03-loongarch64.yml | 21
>>>> +++++++++++++++++++
>>>> 3 files changed, 28 insertions(+)
>>>> create mode 100644
>>>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>
>>> ...
>>>> diff --git a/.gitlab-ci.d/custom-runners.yml
>>>> b/.gitlab-ci.d/custom-runners.yml
>>>> index 8e5b9500f4..152ace4492 100644
>>>> --- a/.gitlab-ci.d/custom-runners.yml
>>>> +++ b/.gitlab-ci.d/custom-runners.yml
>>>> @@ -32,3 +32,4 @@ include:
>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>>>> - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>>>> + - local:
>>>> '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>>>> diff --git
>>>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> new file mode 100644
>>>> index 0000000000..86d18f820e
>>>> --- /dev/null
>>>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>> @@ -0,0 +1,21 @@
>>>> +openeuler-22.03-loongarch64-all:
>>>> + extends: .custom_runner_template :-)
>>>> + needs: []
>>>> + stage: build
>>>> + tags:
>>>> + - oe2203
>>>> + - loongarch64
>>>> + rules:
>>>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" &&
>>>> $CI_COMMIT_BRANCH =~ /^staging/'
>>>> + when: manual
>>>> + allow_failure: true
>>>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>>>> + when: manual
>>>> + allow_failure: true
>>>> + script:
>>>> + - mkdir build
>>>> + - cd build
>>>> + - ../configure
>>>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>>>> + - make --output-sync -j`nproc --ignore=40`
>>>> + - make --output-sync -j`nproc --ignore=40` check
>>>
>>> Does this system really have more than 40 CPU threads? Or is this a
>>> copy-n-past from one of the other scripts? In the latter case, I'd
>>> suggest to adjust the --ignore=40 to a more reasonable value.
>>>
>>> Thomas
>> No, only 32. I think it should be --ignore=32 or 16.
>
> --ignore=32 then also does not make much sense, that would still be
> the same as simply omitting the -j parameter. I guess --ignore=16
> should be fine.
>
>> I create a same runner on this machine, and I find some check error.
>> but I am not sure how to fix it. :-)
>>
>> See:
>>
>> https://gitlab.com/gaosong/qemu/-/jobs/5906269934
>
> Seems to be related to RAM backing... for example, the erst-test is
> failing, which is doing something like:
>
> setup_vm_cmd(&state,
> "-object memory-backend-file,"
> "mem-path=acpi-erst.XXXXXX,"
> "size=64K,"
Hi,
We tested this on
LoongArch host with the 5.10 kernel, (openEuler 22.03),
x86_64 host with 5.10 kernel, (openEuler 22.03)
x86_64 host with 5.15kernel , (Ubuntu 20.04.3 LTS)
and didn't get any error.
but the CI machine use the 6.7_rc4 kernel.
we didn't update the x86_64 host kernel to tested this.
Is it possible that the new kernel is causing the problem?
> "share=on,"
> "id=nvram "
> "-device acpi-erst,"
> "memdev=nvram");
>
> So it seems like -object memory-backend-file" is not correctly working
> in your gitlab runner? Is there some setup missing?
>
> Thomas
>
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 1/2] gitlab: Introduce Loongarch64 runner
2024-01-12 9:52 ` gaosong
@ 2024-01-15 10:08 ` gaosong
0 siblings, 0 replies; 20+ messages in thread
From: gaosong @ 2024-01-15 10:08 UTC (permalink / raw)
To: Thomas Huth, Philippe Mathieu-Daudé, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao, Huacai Chen
在 2024/1/12 下午5:52, gaosong 写道:
> 在 2024/1/11 下午4:26, Thomas Huth 写道:
>> On 11/01/2024 08.25, gaosong wrote:
>>> Hi,
>>>
>>> 在 2024/1/11 下午3:08, Thomas Huth 写道:
>>>> On 02/01/2024 18.22, Philippe Mathieu-Daudé wrote:
>>>>> Full build config to run CI tests on a Loongarch64 host.
>>>>>
>>>>> Forks might enable this by setting LOONGARCH64_RUNNER_AVAILABLE
>>>>> in their CI namespace settings, see:
>>>>> https://www.qemu.org/docs/master/devel/ci.html#maintainer-controlled-job-variables
>>>>>
>>>>>
>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>>> ---
>>>>> docs/devel/ci-jobs.rst.inc | 6 ++++++
>>>>> .gitlab-ci.d/custom-runners.yml | 1 +
>>>>> .../openeuler-22.03-loongarch64.yml | 21
>>>>> +++++++++++++++++++
>>>>> 3 files changed, 28 insertions(+)
>>>>> create mode 100644
>>>>> .gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>>
>>>> ...
>>>>> diff --git a/.gitlab-ci.d/custom-runners.yml
>>>>> b/.gitlab-ci.d/custom-runners.yml
>>>>> index 8e5b9500f4..152ace4492 100644
>>>>> --- a/.gitlab-ci.d/custom-runners.yml
>>>>> +++ b/.gitlab-ci.d/custom-runners.yml
>>>>> @@ -32,3 +32,4 @@ include:
>>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
>>>>> - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
>>>>> - local:
>>>>> '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
>>>>> + - local:
>>>>> '/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml'
>>>>> diff --git
>>>>> a/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> new file mode 100644
>>>>> index 0000000000..86d18f820e
>>>>> --- /dev/null
>>>>> +++ b/.gitlab-ci.d/custom-runners/openeuler-22.03-loongarch64.yml
>>>>> @@ -0,0 +1,21 @@
>>>>> +openeuler-22.03-loongarch64-all:
>>>>> + extends: .custom_runner_template :-)
>>>>> + needs: []
>>>>> + stage: build
>>>>> + tags:
>>>>> + - oe2203
>>>>> + - loongarch64
>>>>> + rules:
>>>>> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" &&
>>>>> $CI_COMMIT_BRANCH =~ /^staging/'
>>>>> + when: manual
>>>>> + allow_failure: true
>>>>> + - if: "$LOONGARCH64_RUNNER_AVAILABLE"
>>>>> + when: manual
>>>>> + allow_failure: true
>>>>> + script:
>>>>> + - mkdir build
>>>>> + - cd build
>>>>> + - ../configure
>>>>> + || { cat config.log meson-logs/meson-log.txt; exit 1; }
>>>>> + - make --output-sync -j`nproc --ignore=40`
>>>>> + - make --output-sync -j`nproc --ignore=40` check
>>>>
>>>> Does this system really have more than 40 CPU threads? Or is this a
>>>> copy-n-past from one of the other scripts? In the latter case, I'd
>>>> suggest to adjust the --ignore=40 to a more reasonable value.
>>>>
>>>> Thomas
>>> No, only 32. I think it should be --ignore=32 or 16.
>>
>> --ignore=32 then also does not make much sense, that would still be
>> the same as simply omitting the -j parameter. I guess --ignore=16
>> should be fine.
>>
>>> I create a same runner on this machine, and I find some check error.
>>> but I am not sure how to fix it. :-)
>>>
>>> See:
>>>
>>> https://gitlab.com/gaosong/qemu/-/jobs/5906269934
>>
>> Seems to be related to RAM backing... for example, the erst-test is
>> failing, which is doing something like:
>>
>> setup_vm_cmd(&state,
>> "-object memory-backend-file,"
>> "mem-path=acpi-erst.XXXXXX,"
>> "size=64K,"
> Hi,
>
> We tested this on
> LoongArch host with the 5.10 kernel, (openEuler 22.03),
> x86_64 host with 5.10 kernel, (openEuler 22.03)
> x86_64 host with 5.15kernel , (Ubuntu 20.04.3 LTS)
>
> and didn't get any error.
>
> but the CI machine use the 6.7_rc4 kernel.
> we didn't update the x86_64 host kernel to tested this.
>
> Is it possible that the new kernel is causing the problem?
>
Hi,
The kernel adds the patch[1] can fix this problem.
[1]
https://patchew.org/linux/20240106145501.3370364-1-chenhuacai@loongson.cn/
So
Tested-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Thanks.
Song Gao
>> "share=on,"
>> "id=nvram "
>> "-device acpi-erst,"
>> "memdev=nvram");
>>
>> So it seems like -object memory-backend-file" is not correctly
>> working in your gitlab runner? Is there some setup missing?
>>
>> Thomas
>>
>>
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build
2024-01-11 11:26 ` Philippe Mathieu-Daudé
2024-01-11 11:41 ` gaosong
@ 2024-01-24 8:56 ` gaosong
1 sibling, 0 replies; 20+ messages in thread
From: gaosong @ 2024-01-24 8:56 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Thomas Huth, qemu-devel
Cc: Zhiguo Wu, Wainer dos Santos Moschetta, Bibo Mao, Xiaojuan Yang,
Beraldo Leal, WANG Xuerui, Alex Bennée, Xianglai Li,
Tianrui Zhao
Hi,
在 2024/1/11 下午7:26, Philippe Mathieu-Daudé 写道:
> On 11/1/24 10:51, gaosong wrote:
>> 在 2024/1/11 下午5:04, Thomas Huth 写道:
>>> On 11/01/2024 09.50, gaosong wrote:
>>>> 在 2024/1/11 下午4:20, Thomas Huth 写道:
>>>>> On 11/01/2024 08.37, gaosong wrote:
>
>>>> LoongArch no support these cmds or some problems .
>>>> - "gva2gpa 0",
>>>> - "memsave 0 4096 \"/dev/null\"",
>>>> - "x /8i 0x100",
>>>> - "xp /16x 0",
>>>>
>>>> Could we disable these 4 cmds or the test_temp check?
>>>> After we fix the cmds problems, we can enable them.
>>>
>>> Even if loongarch does not support one of these commands, it should
>>> not crash QEMU. So please fix the crashes first before considering
>>> to enable the KVM-only test in the CI.
>>>
>>
>> Sure, we will fix the cmds problems first.
>
> The issue might be missing get_phys_page_attrs_debug() implementation.
We use '--enable-kvm --disable-tcg ',
the get_phys_page_debug() is NULL, so the test-hmp failed.
target/loongarch/cpu.c
...
#ifndef CONFIG_USER_ONLY
#include "hw/core/sysemu-cpu-ops.h"
static const struct SysemuCPUOps loongarch_sysemu_ops = {
#ifdef CONFIG_TCG
.get_phys_page_debug = loongarch_cpu_get_phys_page_debug,
#endif
};
...
I see the other architectures only implement
get_phys_page_attrs_debug() or get_phys_page_debug()
and not only build these functions on tcg mode.
Should we need implement get_phys_page_attrs_debug() ? or just use
get_phys_page_debug()
Thanks.
Song Gao
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-01-24 8:57 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-02 17:22 [PATCH 0/2] gitlab: Add config for Loongarch64 custom runner Philippe Mathieu-Daudé
2024-01-02 17:22 ` [PATCH 1/2] gitlab: Introduce Loongarch64 runner Philippe Mathieu-Daudé
2024-01-11 7:08 ` Thomas Huth
2024-01-11 7:25 ` gaosong
2024-01-11 8:26 ` Thomas Huth
2024-01-11 12:05 ` gaosong
2024-01-11 13:11 ` Philippe Mathieu-Daudé
2024-01-12 9:52 ` gaosong
2024-01-15 10:08 ` gaosong
2024-01-02 17:22 ` [NOTFORMERGE PATCH 2/2] gitlab: Add Loongarch64 KVM-only build Philippe Mathieu-Daudé
2024-01-11 7:10 ` Thomas Huth
2024-01-11 7:37 ` gaosong
2024-01-11 8:20 ` Thomas Huth
2024-01-11 8:50 ` gaosong
2024-01-11 9:04 ` Thomas Huth
2024-01-11 9:51 ` gaosong
2024-01-11 11:26 ` Philippe Mathieu-Daudé
2024-01-11 11:41 ` gaosong
2024-01-24 8:56 ` gaosong
2024-01-11 9:26 ` Philippe Mathieu-Daudé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).