diff mbox series

[v2,3/6] drm/ci: build virtual GPU driver as module

Message ID 20240517092502.647420-4-vignesh.raman@collabora.com (mailing list archive)
State Superseded
Headers show
Series drm/ci: uprev mesa/IGT and generate testlist | expand

Commit Message

Vignesh Raman May 17, 2024, 9:24 a.m. UTC
With latest IGT, the tests tries to load the module and it
fails. So build the virtual GPU driver for virtio as module.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
---

v2:
  - No changes.

---
 drivers/gpu/drm/ci/build.sh       | 1 -
 drivers/gpu/drm/ci/igt_runner.sh  | 6 +++---
 drivers/gpu/drm/ci/image-tags.yml | 4 ++--
 drivers/gpu/drm/ci/test.yml       | 1 +
 drivers/gpu/drm/ci/x86_64.config  | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

Comments

Dmitry Baryshkov May 20, 2024, 11:02 a.m. UTC | #1
On Fri, May 17, 2024 at 02:54:59PM +0530, Vignesh Raman wrote:
> With latest IGT, the tests tries to load the module and it
> fails. So build the virtual GPU driver for virtio as module.

Why? If the test fails on module loading (if the driver is built-in)
then it's the test that needs to be fixed, not the kerenel config.

It's fine as a temporal workaround, but please include a link to the
patch posted to fix the issue.

> 
> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
> ---
> 
> v2:
>   - No changes.
> 
> ---
>  drivers/gpu/drm/ci/build.sh       | 1 -
>  drivers/gpu/drm/ci/igt_runner.sh  | 6 +++---
>  drivers/gpu/drm/ci/image-tags.yml | 4 ++--
>  drivers/gpu/drm/ci/test.yml       | 1 +
>  drivers/gpu/drm/ci/x86_64.config  | 2 +-
>  5 files changed, 7 insertions(+), 7 deletions(-)
> 
> 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/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
> index 20026612a9bd..55532f79fbdc 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|virtio_gpu)
>          # 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..328f5c560742 100644
> --- a/drivers/gpu/drm/ci/image-tags.yml
> +++ b/drivers/gpu/drm/ci/image-tags.yml
> @@ -4,9 +4,9 @@ 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-05-09-virtio"
>  
> -   KERNEL_ROOTFS_TAG: "2023-10-06-amd"
> +   KERNEL_ROOTFS_TAG: "2024-05-09-virtio"
>  
>     DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
>     DEBIAN_X86_64_TEST_IMAGE_GL_PATH: "debian/x86_64_test-gl"
> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
> index 612c9ede3507..864ac3809d84 100644
> --- a/drivers/gpu/drm/ci/test.yml
> +++ b/drivers/gpu/drm/ci/test.yml
> @@ -350,6 +350,7 @@ virtio_gpu:none:
>    script:
>      - ln -sf $CI_PROJECT_DIR/install /install
>      - mv install/bzImage /lava-files/bzImage
> +    - mkdir -p /lib/modules

Is it necessary to create it manually here?

>      - mkdir -p $CI_PROJECT_DIR/results
>      - ln -sf $CI_PROJECT_DIR/results /results
>      - install/crosvm-runner.sh install/igt_runner.sh
> diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config
> index 1cbd49a5b23a..78479f063e8e 100644
> --- a/drivers/gpu/drm/ci/x86_64.config
> +++ b/drivers/gpu/drm/ci/x86_64.config
> @@ -91,7 +91,7 @@ CONFIG_KVM=y
>  CONFIG_KVM_GUEST=y
>  CONFIG_VIRT_DRIVERS=y
>  CONFIG_VIRTIO_FS=y
> -CONFIG_DRM_VIRTIO_GPU=y
> +CONFIG_DRM_VIRTIO_GPU=m
>  CONFIG_SERIAL_8250_CONSOLE=y
>  CONFIG_VIRTIO_NET=y
>  CONFIG_VIRTIO_CONSOLE=y
> -- 
> 2.40.1
>
Vignesh Raman May 21, 2024, 7:09 a.m. UTC | #2
Hi Dmitry,

On 20/05/24 16:32, Dmitry Baryshkov wrote:
> On Fri, May 17, 2024 at 02:54:59PM +0530, Vignesh Raman wrote:
>> With latest IGT, the tests tries to load the module and it
>> fails. So build the virtual GPU driver for virtio as module.
> 
> Why? If the test fails on module loading (if the driver is built-in)
> then it's the test that needs to be fixed, not the kerenel config.
> 
> It's fine as a temporal workaround, but please include a link to the
> patch posted to fix the issue.

I will recheck this issue and post a link to the fix.

Regards,
Vignesh

> 
>>
>> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
>> ---
>>
>> v2:
>>    - No changes.
>>
>> ---
>>   drivers/gpu/drm/ci/build.sh       | 1 -
>>   drivers/gpu/drm/ci/igt_runner.sh  | 6 +++---
>>   drivers/gpu/drm/ci/image-tags.yml | 4 ++--
>>   drivers/gpu/drm/ci/test.yml       | 1 +
>>   drivers/gpu/drm/ci/x86_64.config  | 2 +-
>>   5 files changed, 7 insertions(+), 7 deletions(-)
>>
>> 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/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
>> index 20026612a9bd..55532f79fbdc 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|virtio_gpu)
>>           # 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..328f5c560742 100644
>> --- a/drivers/gpu/drm/ci/image-tags.yml
>> +++ b/drivers/gpu/drm/ci/image-tags.yml
>> @@ -4,9 +4,9 @@ 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-05-09-virtio"
>>   
>> -   KERNEL_ROOTFS_TAG: "2023-10-06-amd"
>> +   KERNEL_ROOTFS_TAG: "2024-05-09-virtio"
>>   
>>      DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
>>      DEBIAN_X86_64_TEST_IMAGE_GL_PATH: "debian/x86_64_test-gl"
>> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
>> index 612c9ede3507..864ac3809d84 100644
>> --- a/drivers/gpu/drm/ci/test.yml
>> +++ b/drivers/gpu/drm/ci/test.yml
>> @@ -350,6 +350,7 @@ virtio_gpu:none:
>>     script:
>>       - ln -sf $CI_PROJECT_DIR/install /install
>>       - mv install/bzImage /lava-files/bzImage
>> +    - mkdir -p /lib/modules
> 
> Is it necessary to create it manually here?
> 
>>       - mkdir -p $CI_PROJECT_DIR/results
>>       - ln -sf $CI_PROJECT_DIR/results /results
>>       - install/crosvm-runner.sh install/igt_runner.sh
>> diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config
>> index 1cbd49a5b23a..78479f063e8e 100644
>> --- a/drivers/gpu/drm/ci/x86_64.config
>> +++ b/drivers/gpu/drm/ci/x86_64.config
>> @@ -91,7 +91,7 @@ CONFIG_KVM=y
>>   CONFIG_KVM_GUEST=y
>>   CONFIG_VIRT_DRIVERS=y
>>   CONFIG_VIRTIO_FS=y
>> -CONFIG_DRM_VIRTIO_GPU=y
>> +CONFIG_DRM_VIRTIO_GPU=m
>>   CONFIG_SERIAL_8250_CONSOLE=y
>>   CONFIG_VIRTIO_NET=y
>>   CONFIG_VIRTIO_CONSOLE=y
>> -- 
>> 2.40.1
>>
>
Vignesh Raman May 23, 2024, 5:45 a.m. UTC | #3
Hi Dmitry,

On 21/05/24 12:39, Vignesh Raman wrote:
> Hi Dmitry,
> 
> On 20/05/24 16:32, Dmitry Baryshkov wrote:
>> On Fri, May 17, 2024 at 02:54:59PM +0530, Vignesh Raman wrote:
>>> With latest IGT, the tests tries to load the module and it
>>> fails. So build the virtual GPU driver for virtio as module.
>>
>> Why? If the test fails on module loading (if the driver is built-in)
>> then it's the test that needs to be fixed, not the kerenel config.
>>
>> It's fine as a temporal workaround, but please include a link to the
>> patch posted to fix the issue.
> 
> I will recheck this issue and post a link to the fix.


This was the issue seen with IGT commit 
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/7d1841317c13c19c26b6352f923b205d43742c55 


[    4.450571] [drm:virtio_gpu_init] *ERROR* failed to find virt queues
[    4.450962] virtio_gpu virtio0: probe with driver virtio_gpu failed 
with error -2
[    5.471417] [drm:virtio_gpu_init] *ERROR* failed to find virt queues
[    5.471916] virtio_gpu virtio0: probe with driver virtio_gpu failed 
with error -2

https://gitlab.freedesktop.org/vigneshraman/linux/-/jobs/59037122

With the recent uprev of IGT to 
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/0df7b9b97f9da0e364f5ee30fe331004b8c86b56,
this issue is not seen. So will drop this commit.

Regards,
Vignesh

> 
> Regards,
> Vignesh
> 
>>
>>>
>>> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
>>> ---
>>>
>>> v2:
>>>    - No changes.
>>>
>>> ---
>>>   drivers/gpu/drm/ci/build.sh       | 1 -
>>>   drivers/gpu/drm/ci/igt_runner.sh  | 6 +++---
>>>   drivers/gpu/drm/ci/image-tags.yml | 4 ++--
>>>   drivers/gpu/drm/ci/test.yml       | 1 +
>>>   drivers/gpu/drm/ci/x86_64.config  | 2 +-
>>>   5 files changed, 7 insertions(+), 7 deletions(-)
>>>
>>> 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/igt_runner.sh 
>>> b/drivers/gpu/drm/ci/igt_runner.sh
>>> index 20026612a9bd..55532f79fbdc 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|virtio_gpu)
>>>           # 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..328f5c560742 100644
>>> --- a/drivers/gpu/drm/ci/image-tags.yml
>>> +++ b/drivers/gpu/drm/ci/image-tags.yml
>>> @@ -4,9 +4,9 @@ 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-05-09-virtio"
>>> -   KERNEL_ROOTFS_TAG: "2023-10-06-amd"
>>> +   KERNEL_ROOTFS_TAG: "2024-05-09-virtio"
>>>      DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
>>>      DEBIAN_X86_64_TEST_IMAGE_GL_PATH: "debian/x86_64_test-gl"
>>> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
>>> index 612c9ede3507..864ac3809d84 100644
>>> --- a/drivers/gpu/drm/ci/test.yml
>>> +++ b/drivers/gpu/drm/ci/test.yml
>>> @@ -350,6 +350,7 @@ virtio_gpu:none:
>>>     script:
>>>       - ln -sf $CI_PROJECT_DIR/install /install
>>>       - mv install/bzImage /lava-files/bzImage
>>> +    - mkdir -p /lib/modules
>>
>> Is it necessary to create it manually here?
>>
>>>       - mkdir -p $CI_PROJECT_DIR/results
>>>       - ln -sf $CI_PROJECT_DIR/results /results
>>>       - install/crosvm-runner.sh install/igt_runner.sh
>>> diff --git a/drivers/gpu/drm/ci/x86_64.config 
>>> b/drivers/gpu/drm/ci/x86_64.config
>>> index 1cbd49a5b23a..78479f063e8e 100644
>>> --- a/drivers/gpu/drm/ci/x86_64.config
>>> +++ b/drivers/gpu/drm/ci/x86_64.config
>>> @@ -91,7 +91,7 @@ CONFIG_KVM=y
>>>   CONFIG_KVM_GUEST=y
>>>   CONFIG_VIRT_DRIVERS=y
>>>   CONFIG_VIRTIO_FS=y
>>> -CONFIG_DRM_VIRTIO_GPU=y
>>> +CONFIG_DRM_VIRTIO_GPU=m
>>>   CONFIG_SERIAL_8250_CONSOLE=y
>>>   CONFIG_VIRTIO_NET=y
>>>   CONFIG_VIRTIO_CONSOLE=y
>>> -- 
>>> 2.40.1
>>>
>>
diff mbox series

Patch

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/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
index 20026612a9bd..55532f79fbdc 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|virtio_gpu)
         # 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..328f5c560742 100644
--- a/drivers/gpu/drm/ci/image-tags.yml
+++ b/drivers/gpu/drm/ci/image-tags.yml
@@ -4,9 +4,9 @@  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-05-09-virtio"
 
-   KERNEL_ROOTFS_TAG: "2023-10-06-amd"
+   KERNEL_ROOTFS_TAG: "2024-05-09-virtio"
 
    DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
    DEBIAN_X86_64_TEST_IMAGE_GL_PATH: "debian/x86_64_test-gl"
diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
index 612c9ede3507..864ac3809d84 100644
--- a/drivers/gpu/drm/ci/test.yml
+++ b/drivers/gpu/drm/ci/test.yml
@@ -350,6 +350,7 @@  virtio_gpu:none:
   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
diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config
index 1cbd49a5b23a..78479f063e8e 100644
--- a/drivers/gpu/drm/ci/x86_64.config
+++ b/drivers/gpu/drm/ci/x86_64.config
@@ -91,7 +91,7 @@  CONFIG_KVM=y
 CONFIG_KVM_GUEST=y
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VIRTIO_FS=y
-CONFIG_DRM_VIRTIO_GPU=y
+CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_VIRTIO_NET=y
 CONFIG_VIRTIO_CONSOLE=y