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é <phi...@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-phi...@linaro.org/

Reply via email to