Comment 14 for bug 2020769

Revision history for this message
quanxian (quanxian-wang) wrote :

hi, All

we have finished testing of Accel-config in ubuntu 22.04.3. We came across some issues and spent additional effort on that. After our DSA expert analysis, share with Canonical.

Test Summary
a. accel-config packages are fine. whatever for 3.5.2 or 4.0.2
b. testing for DSA: PASS
c. testing for accel-config: Skipped (kernel doesn't support)

Details:

Ubuntu 23.04:
accel-config - 3.5.2
kernel-6.2
accel-config passed (not reasonable, suggest to skip)
DSA - passed

Ubuntu 22.04.3
accel-config-4.0.2
kernel-6.2
accel- config test skipped
DSA - passed

Kernel command line enabling: adding option ‘intel_iommu=on,sm_on’ to enable CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON and CONFIG_INTEL_IOMMU_DEFAULT_ON

Root cause the accel-config testing skip result of Ubuntu 22.04.3, about commits, put more below.
1. 6.2 kernel has one commit which disable PASID, so accel-config test should be skipped
commit 942fd5435dccb273f90176b046ae6bbba60cfbd8
iommu: Remove SVM_FLAG_SUPERVISOR_MODE support
2. accel-config user space commit(4.0 version) change the PASID testing to 0, which cause accel-config skipped.

that is why 3.5.0 accel-config passed(not reasonable), and 4.0.2 skipped.

Therefore, suggestion from Intel:
skip accel-config testing before PASID is enabled whatever for Ubuntu 22.04.3 or Ubuntu 23.04
DSA testing - currently all passed

Here are the testing results for Ubuntu 23.04 and Ubuntu 22.04.3

Ubuntu 23.04: read comment #9
Ubuntu 22.04.3:
==========
root@test:~# accel-config test
run test_libaccfg
__accfg_test_skip: explicit skip test_libaccfg:906
device has no pasid support, skipping tests
test-libaccfg: SKIP

root@test:~/idxd-config/test/configs# accel-config load-config -c ./2g2q_user_1.conf -e
Enabling device dsa0
Enabling wq wq0.1
Enabling wq wq0.0

root@test:~/idxd-config/test# ./dsa_test -w 0 -l 4096 -f 0x1 -o 0x3 -t 200 -v
[debug] umwait supported
[ info] alloc wq 1 dedicated size 16 addr 0x7f4e4ed10000 batch sz 0x400 xfer sz 0x80000000
[ info] testmemory: opcode 3 len 0x1000 tflags 0x1 num_desc 1
[debug] initializing task 0x55b1bc783110
[debug] Mem allocated: s1 0x55b1bc7832c0 s2 0 d1 0x55b1bc784320 d2 0
[ info] preparing descriptor for memcpy
[ info] Submitted all memcpy jobs
[debug] desc addr: 0x55b1bc7831d0
[debug] desc[0]: 0x0300000e00000000
[debug] desc[1]: 0x000055b1bc783220
[debug] desc[2]: 0x000055b1bc7832c0
[debug] desc[3]: 0x000055b1bc784320
[debug] desc[4]: 0x0000000000001000
[debug] desc[5]: 0x0000000000000000
[debug] desc[6]: 0x0000000000000000
[debug] desc[7]: 0x0000000000000000
[debug] completion record addr: 0x55b1bc783220
[debug] compl[0]: 0x0000000000000001
[debug] compl[1]: 0x0000000000000000
[debug] compl[2]: 0x0000000000000000
[debug] compl[3]: 0x0000000000000000
[ info] verifying task result for 0x55b1bc783110
=======

Commits:
accel-config(4.0):
commit f13c2cb0ddec6ff8db41e3cac157f5ab05d23819
Author: Ramesh Thomas <email address hidden>
Date: Tue Mar 7 18:52:12 2023 -0500

    accel-config: Fix bug in return value of pasid enabled check

    API to check whether pasid is enabled was returning a character string
    that was read from sysfs. The expected return value is boolean. Store
    the pasid_enabled attribute as integer and return it.

kernel commits(6.2)
commit 942fd5435dccb273f90176b046ae6bbba60cfbd8
Author: Lu Baolu <email address hidden>
Date: Mon Oct 31 08:59:07 2022 +0800

iommu: Remove SVM_FLAG_SUPERVISOR_MODE support

Let me know your concern. Thanks