lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZnBCyQfWzk5FWurf@phenom.ffwll.local>
Date: Mon, 17 Jun 2024 16:06:01 +0200
From: Daniel Vetter <daniel@...ll.ch>
To: Vignesh Raman <vignesh.raman@...labora.com>
Cc: dri-devel@...ts.freedesktop.org, airlied@...il.com, daniel@...ll.ch,
	rodrigosiqueiramelo@...il.com, melissa.srw@...il.com,
	mairacanal@...eup.net, hamohammed.sa@...il.com, robdclark@...il.com,
	maarten.lankhorst@...ux.intel.com, mripard@...nel.org,
	tzimmermann@...e.de, daniels@...labora.com,
	helen.koike@...labora.com, guilherme.gallo@...labora.com,
	sergi.blanch.torne@...labora.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5] drm/ci: add tests on vkms

On Tue, Jun 11, 2024 at 02:40:37PM +0530, Vignesh Raman wrote:
> Add job that runs igt on top of vkms.
> 
> Acked-by: MaĆ­ra Canal <mcanal@...lia.com>
> Acked-by: Helen Koike <helen.koike@...labora.com>
> Signed-off-by: Vignesh Raman <vignesh.raman@...labora.com>
> Acked-by: Jessica Zhang <quic_jesszhan@...cinc.com>
> Tested-by: Jessica Zhang <quic_jesszhan@...cinc.com>
> Acked-by: Maxime Ripard <mripard@...nel.org>
> Signed-off-by: Helen Koike <helen.koike@...labora.com>

Do we have some effort going on to fix the testcases (or vkms)? With pure
software testcases there really shouldn't ever be any flakes, and if we
can use vkms to improve our testcase quality, then I think the entire
gitlab CI project was already more than worth it ...

Cheers, Sima

> ---
> 
> v2:
> - do not mv modules to /lib/modules in the job definition, leave it to
>   crosvm-runner.sh
> 
> v3:
> - Enable CONFIG_DRM_VKMS in x86_64.config and update xfails
> 
> v4:
> - Build vkms as module and test with latest IGT. 
>   This patch depends on https://lore.kernel.org/dri-devel/20240130150340.687871-1-vignesh.raman@collabora.com/
> 
> v5:
> - Test with the updated IGT and update xfails
> 
> ---
>  MAINTAINERS                                   |  1 +
>  drivers/gpu/drm/ci/build.sh                   |  1 -
>  drivers/gpu/drm/ci/gitlab-ci.yml              |  1 +
>  drivers/gpu/drm/ci/igt_runner.sh              |  6 +-
>  drivers/gpu/drm/ci/image-tags.yml             |  2 +-
>  drivers/gpu/drm/ci/test.yml                   | 24 ++++++-
>  drivers/gpu/drm/ci/x86_64.config              |  1 +
>  drivers/gpu/drm/ci/xfails/vkms-none-fails.txt | 57 ++++++++++++++++
>  .../gpu/drm/ci/xfails/vkms-none-flakes.txt    | 15 +++++
>  drivers/gpu/drm/ci/xfails/vkms-none-skips.txt | 67 +++++++++++++++++++
>  10 files changed, 169 insertions(+), 6 deletions(-)
>  create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-fails.txt
>  create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt
>  create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-skips.txt
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 8aee861d18f9..94065f5028cf 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -7036,6 +7036,7 @@ L:	dri-devel@...ts.freedesktop.org
>  S:	Maintained
>  T:	git https://gitlab.freedesktop.org/drm/misc/kernel.git
>  F:	Documentation/gpu/vkms.rst
> +F:	drivers/gpu/drm/ci/xfails/vkms*
>  F:	drivers/gpu/drm/vkms/
>  
>  DRM DRIVER FOR VIRTUALBOX VIRTUAL GPU
> diff --git a/drivers/gpu/drm/ci/build.sh b/drivers/gpu/drm/ci/build.sh
> index a67871fdcd3f..e938074ac8e7 100644
> --- a/drivers/gpu/drm/ci/build.sh
> +++ b/drivers/gpu/drm/ci/build.sh
> @@ -157,7 +157,6 @@ fi
>  
>  mkdir -p artifacts/install/lib
>  mv install/* artifacts/install/.
> -rm -rf artifacts/install/modules
>  ln -s common artifacts/install/ci-common
>  cp .config artifacts/${CI_JOB_NAME}_config
>  
> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
> index 1b29c3b6406b..80fb0f57ae46 100644
> --- a/drivers/gpu/drm/ci/gitlab-ci.yml
> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml
> @@ -123,6 +123,7 @@ stages:
>    - msm
>    - rockchip
>    - virtio-gpu
> +  - software-driver
>  
>  # YAML anchors for rule conditions
>  # --------------------------------
> diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
> index d49ad434b580..79f41d7da772 100755
> --- a/drivers/gpu/drm/ci/igt_runner.sh
> +++ b/drivers/gpu/drm/ci/igt_runner.sh
> @@ -30,10 +30,10 @@ case "$DRIVER_NAME" in
>              export IGT_FORCE_DRIVER="panfrost"
>          fi
>          ;;
> -    amdgpu)
> +    amdgpu|vkms)
>          # Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
> -        mv /install/modules/lib/modules/* /lib/modules/.
> -        modprobe amdgpu
> +        mv /install/modules/lib/modules/* /lib/modules/. || true
> +        modprobe --first-time $DRIVER_NAME
>          ;;
>  esac
>  
> diff --git a/drivers/gpu/drm/ci/image-tags.yml b/drivers/gpu/drm/ci/image-tags.yml
> index 60323ebc7304..13eda37bdf05 100644
> --- a/drivers/gpu/drm/ci/image-tags.yml
> +++ b/drivers/gpu/drm/ci/image-tags.yml
> @@ -4,7 +4,7 @@ variables:
>     DEBIAN_BASE_TAG: "${CONTAINER_TAG}"
>  
>     DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
> -   DEBIAN_BUILD_TAG: "2023-10-08-config"
> +   DEBIAN_BUILD_TAG: "2024-06-10-vkms"
>  
>     KERNEL_ROOTFS_TAG: "2023-10-06-amd"
>  
> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
> index 322cce714657..ee908b66aad2 100644
> --- a/drivers/gpu/drm/ci/test.yml
> +++ b/drivers/gpu/drm/ci/test.yml
> @@ -338,7 +338,7 @@ meson:g12b:
>      RUNNER_TAG: mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3
>  
>  virtio_gpu:none:
> -  stage: virtio-gpu
> +  stage: software-driver
>    variables:
>      CROSVM_GALLIUM_DRIVER: llvmpipe
>      DRIVER_NAME: virtio_gpu
> @@ -358,3 +358,25 @@ virtio_gpu:none:
>      - debian/x86_64_test-gl
>      - testing:x86_64
>      - igt:x86_64
> +
> +vkms:none:
> +  stage: software-driver
> +  variables:
> +    DRIVER_NAME: vkms
> +    GPU_VERSION: none
> +  extends:
> +    - .test-gl
> +    - .test-rules
> +  tags:
> +    - kvm
> +  script:
> +    - ln -sf $CI_PROJECT_DIR/install /install
> +    - mv install/bzImage /lava-files/bzImage
> +    - mkdir -p /lib/modules
> +    - mkdir -p $CI_PROJECT_DIR/results
> +    - ln -sf $CI_PROJECT_DIR/results /results
> +    - ./install/crosvm-runner.sh ./install/igt_runner.sh
> +  needs:
> +    - debian/x86_64_test-gl
> +    - testing:x86_64
> +    - igt:x86_64
> diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config
> index 1cbd49a5b23a..8eaba388b141 100644
> --- a/drivers/gpu/drm/ci/x86_64.config
> +++ b/drivers/gpu/drm/ci/x86_64.config
> @@ -24,6 +24,7 @@ CONFIG_DRM=y
>  CONFIG_DRM_PANEL_SIMPLE=y
>  CONFIG_PWM_CROS_EC=y
>  CONFIG_BACKLIGHT_PWM=y
> +CONFIG_DRM_VKMS=m
>  
>  # Strip out some stuff we don't need for graphics testing, to reduce
>  # the build.
> diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt b/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt
> new file mode 100644
> index 000000000000..691c383b21a0
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt
> @@ -0,0 +1,57 @@
> +core_hotunplug@...rebind,Fail
> +core_hotunplug@...rebind-lateclose,Fail
> +core_hotunplug@...replug,Fail
> +core_hotunplug@...replug-lateclose,Fail
> +core_hotunplug@...unbind-rebind,Fail
> +core_hotunplug@...unplug-rescan,Fail
> +core_hotunplug@...ind-rebind,Fail
> +core_hotunplug@...lug-rescan,Fail
> +device_reset@...d-reset-bound,Fail
> +device_reset@...et-bound,Fail
> +device_reset@...ind-cold-reset-rebind,Fail
> +device_reset@...ind-reset-rebind,Fail
> +dumb_buffer@...alid-bpp,Fail
> +kms_content_protection@...mic,Crash
> +kms_content_protection@...mic-dpms,Crash
> +kms_content_protection@...tent-type-change,Crash
> +kms_content_protection@...-type-0,Crash
> +kms_content_protection@...-type-1,Crash
> +kms_content_protection@srm,Crash
> +kms_content_protection@...e1,Crash
> +kms_content_protection@...ent,Crash
> +kms_cursor_crc@...sor-rapid-movement-128x128,Fail
> +kms_cursor_crc@...sor-rapid-movement-128x42,Fail
> +kms_cursor_crc@...sor-rapid-movement-256x256,Fail
> +kms_cursor_crc@...sor-rapid-movement-256x85,Fail
> +kms_cursor_crc@...sor-rapid-movement-32x10,Fail
> +kms_cursor_crc@...sor-rapid-movement-32x32,Fail
> +kms_cursor_crc@...sor-rapid-movement-512x170,Fail
> +kms_cursor_crc@...sor-rapid-movement-512x512,Fail
> +kms_cursor_crc@...sor-rapid-movement-64x21,Fail
> +kms_cursor_crc@...sor-rapid-movement-64x64,Fail
> +kms_cursor_legacy@...ic-flip-before-cursor-atomic,Fail
> +kms_cursor_legacy@...ic-flip-before-cursor-legacy,Fail
> +kms_cursor_legacy@...sor-vs-flip-atomic,Fail
> +kms_cursor_legacy@...sor-vs-flip-legacy,Fail
> +kms_cursor_legacy@...sor-vs-flip-toggle,Fail
> +kms_cursor_legacy@...sor-vs-flip-varying-size,Fail
> +kms_cursor_legacy@...p-vs-cursor-atomic,Fail
> +kms_cursor_legacy@...p-vs-cursor-crc-atomic,Fail
> +kms_cursor_legacy@...p-vs-cursor-crc-legacy,Fail
> +kms_cursor_legacy@...p-vs-cursor-legacy,Fail
> +kms_flip@...p-vs-modeset-vs-hang,Fail
> +kms_flip@...p-vs-panning-vs-hang,Fail
> +kms_flip@...p-vs-suspend,Timeout
> +kms_flip@...p-vs-suspend-interruptible,Timeout
> +kms_flip@...in-flip-fb-recreate,Fail
> +kms_lease@...se-uevent,Fail
> +kms_pipe_crc_basic@...blocking-crc,Fail
> +kms_pipe_crc_basic@...blocking-crc-frame-sequence,Fail
> +kms_writeback@...teback-check-output,Fail
> +kms_writeback@...teback-check-output-XRGB2101010,Fail
> +kms_writeback@...teback-fb-id,Fail
> +kms_writeback@...teback-fb-id-XRGB2101010,Fail
> +kms_writeback@...teback-invalid-parameters,Fail
> +kms_writeback@...teback-pixel-formats,Fail
> +perf@...5-ref-count,Fail
> +tools_test@...ls_test,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt b/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt
> new file mode 100644
> index 000000000000..56484a30aff5
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt
> @@ -0,0 +1,15 @@
> +# Board Name: vkms
> +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> +# Failure Rate: 50
> +# IGT Version: 1.28-g0df7b9b97
> +# Linux Version: 6.9.0-rc7
> +kms_cursor_legacy@...g-nonblocking-modeset-vs-cursor-atomic
> +kms_flip@...ic-flip-vs-wf_vblank
> +kms_flip@...p-vs-expired-vblank-interruptible
> +kms_flip@...p-vs-wf_vblank-interruptible
> +kms_flip@...in-flip-fb-recreate-interruptible
> +kms_flip@...in-flip-ts-check
> +kms_flip@...in-flip-ts-check-interruptible
> +kms_flip@...p-vs-absolute-wf_vblank
> +kms_flip@...p-vs-absolute-wf_vblank-interruptible
> +kms_flip@...p-vs-blocking-wf-vblank
> diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt b/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt
> new file mode 100644
> index 000000000000..5a9093ddb613
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt
> @@ -0,0 +1,67 @@
> +# keeps printing vkms_vblank_simulate: vblank timer overrun and never ends
> +kms_invalid_mode@...-max-clock
> +
> +# Kernel panic
> +kms_cursor_crc@...sor-rapid-movement-32x10
> +# Oops: 0000 [#1] PREEMPT SMP NOPTI
> +# CPU: 0 PID: 2635 Comm: kworker/u8:13 Not tainted 6.9.0-rc7-g40935263a1fd #1
> +# Hardware name: ChromiumOS crosvm, BIOS 0
> +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> +# RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246
> +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> +# RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8
> +# RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
> +# R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700
> +# R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000
> +# FS:  0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000
> +# CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> +# CR2: 0000000000000078 CR3: 000000010bd30000 CR4: 0000000000350ef0
> +# Call Trace:
> +#  <TASK>
> +#  ? __die+0x1e/0x60
> +#  ? page_fault_oops+0x17b/0x490
> +#  ? exc_page_fault+0x6d/0x230
> +#  ? asm_exc_page_fault+0x26/0x30
> +#  ? compose_active_planes+0x1c7/0x4e0 [vkms]
> +#  ? compose_active_planes+0x2a3/0x4e0 [vkms]
> +#  ? srso_return_thunk+0x5/0x5f
> +#  vkms_composer_worker+0x205/0x240 [vkms]
> +#  process_one_work+0x1f4/0x6b0
> +#  ? lock_is_held_type+0x9e/0x110
> +#  worker_thread+0x17e/0x350
> +#  ? __pfx_worker_thread+0x10/0x10
> +#  kthread+0xce/0x100
> +#  ? __pfx_kthread+0x10/0x10
> +#  ret_from_fork+0x2f/0x50
> +#  ? __pfx_kthread+0x10/0x10
> +#  ret_from_fork_asm+0x1a/0x30
> +#  </TASK>
> +# Modules linked in: vkms
> +# CR2: 0000000000000078
> +# ---[ end trace 0000000000000000 ]---
> +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> +# RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246
> +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> +# RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8
> +# RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
> +# R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700
> +# R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000
> +# FS:  0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000
> +# CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> +
> +# Skip driver specific tests
> +^amdgpu.*
> +msm_.*
> +nouveau_.*
> +panfrost_.*
> +^v3d.*
> +^vc4.*
> +^vmwgfx*
> +
> +# Skip intel specific tests
> +gem_.*
> +i915_.*
> +xe_.*
> -- 
> 2.40.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ