we re-run this accel-config test on SPR platform with Ubutnu 23.04 after some configuration changes. The result seems good.
there are two parts.
1. accel-config test # general testing
It passed instead. Although reported some failed operations about ats_disable, Assume it matches the expectations.
root@test:~# accel-config test
run test_libaccfg
Running accfg-test0: set and get configurations for shared wqs
configuring device dsa0
configuring group group0.0
configuring group group0.1
configuring wq wq0.0
libaccfg: accfg_wq_set_ats_disable: wq0.0: ats_disable attribute write failed: Operation not supported
configuring wq wq0.2
libaccfg: accfg_wq_set_ats_disable: wq0.2: ats_disable attribute write failed: Operation not supported
configuring engine engine0.0
configuring engine engine0.1
configuring engine engine0.2
configuring engine engine0.3
check device dsa0
check group group0.0
check group group0.1
check wq wq0.0
check wq wq0.2
check engine engine0.0
check engine engine0.1
check engine engine0.2
check engine engine0.3
accfg-test0 passed!
Running accfg-test1: set and get configurations for dedicated wqs
configuring device dsa0
configuring group group0.0
configuring group group0.1
configuring wq wq0.1
libaccfg: accfg_wq_set_ats_disable: wq0.1: ats_disable attribute write failed: Operation not supported
configuring wq wq0.3
libaccfg: accfg_wq_set_ats_disable: wq0.3: ats_disable attribute write failed: Operation not supported
configuring engine engine0.0
configuring engine engine0.1
configuring engine engine0.2
configuring engine engine0.3
check device dsa0
check group group0.0
check group group0.1
check wq wq0.1
check wq wq0.3
check engine engine0.0
check engine engine0.1
check engine engine0.2
check engine engine0.3
accfg-test1 passed!
Running accfg-test2: max wq size
configuring group group0.0
configuring wq wq0.1
libaccfg: accfg_wq_set_ats_disable: wq0.1: ats_disable attribute write failed: Operation not supported
configuring wq wq0.3
libaccfg: accfg_wq_set_ats_disable: wq0.3: ats_disable attribute write failed: Operation not supported
trying to set wq size exceeding max wq size
libaccfg: accfg_wq_set_size: wq0.3: size attribute write failed: Invalid argument
wq size exceeding max wq size was not accepted
accfg-test2 passed!
Running accfg-test3: wq boundary conditions
configure device dsa0, group group0.0, wq wq0.1 for bounds test
libaccfg: accfg_wq_set_ats_disable: wq0.1: ats_disable attribute write failed: Operation not supported
trying to set wq max_batch_size = 0
libaccfg: accfg_wq_set_max_batch_size: wq0.1: max_batch_size attribute write failed: Invalid argument
trying to set wq max_transfer_size = 0
libaccfg: accfg_wq_set_max_transfer_size: wq0.1: write failed: Invalid argument
trying to set wq max_batch_size exceeding device max
libaccfg: accfg_wq_set_max_batch_size: wq0.1: max_batch_size attribute write failed: Invalid argument
trying to set wq max_transfer_size exceeding device max
libaccfg: accfg_wq_set_max_transfer_size: wq0.1: write failed: Invalid argument
0 and greater than device max values were not accepted
accfg-test3 passed!
test-libaccfg: PASS
SUCCESS!
libaccfg: accfg_unref: context 0x55aa58bdc2a0 released
2. DSA/IAA test, need add kernel command line "intel_iommu=on,sm_on"
accel-config test only tested the accel-config itself. Not response for the DSA/IAA functions.
So, I run the dsa_test and found some errors.
It indicates SWQ support missing. Then I found out the kernel command line missing, “intel_iommu=on,sm_on”
If intel IOMMU and its scalable mode are not turn on in kernel config file, they require adding kernel parameters to be turn on.
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
After added the kernel parameters back, dsa_test passed.
we re-run this accel-config test on SPR platform with Ubutnu 23.04 after some configuration changes. The result seems good.
there are two parts.
1. accel-config test # general testing
It passed instead. Although reported some failed operations about ats_disable, Assume it matches the expectations.
root@test:~# accel-config test
run test_libaccfg
Running accfg-test0: set and get configurations for shared wqs set_ats_ disable: wq0.0: ats_disable attribute write failed: Operation not supported set_ats_ disable: wq0.2: ats_disable attribute write failed: Operation not supported
configuring device dsa0
configuring group group0.0
configuring group group0.1
configuring wq wq0.0
libaccfg: accfg_wq_
configuring wq wq0.2
libaccfg: accfg_wq_
configuring engine engine0.0
configuring engine engine0.1
configuring engine engine0.2
configuring engine engine0.3
check device dsa0
check group group0.0
check group group0.1
check wq wq0.0
check wq wq0.2
check engine engine0.0
check engine engine0.1
check engine engine0.2
check engine engine0.3
accfg-test0 passed!
Running accfg-test1: set and get configurations for dedicated wqs set_ats_ disable: wq0.1: ats_disable attribute write failed: Operation not supported set_ats_ disable: wq0.3: ats_disable attribute write failed: Operation not supported
configuring device dsa0
configuring group group0.0
configuring group group0.1
configuring wq wq0.1
libaccfg: accfg_wq_
configuring wq wq0.3
libaccfg: accfg_wq_
configuring engine engine0.0
configuring engine engine0.1
configuring engine engine0.2
configuring engine engine0.3
check device dsa0
check group group0.0
check group group0.1
check wq wq0.1
check wq wq0.3
check engine engine0.0
check engine engine0.1
check engine engine0.2
check engine engine0.3
accfg-test1 passed!
Running accfg-test2: max wq size set_ats_ disable: wq0.1: ats_disable attribute write failed: Operation not supported set_ats_ disable: wq0.3: ats_disable attribute write failed: Operation not supported
configuring group group0.0
configuring wq wq0.1
libaccfg: accfg_wq_
configuring wq wq0.3
libaccfg: accfg_wq_
trying to set wq size exceeding max wq size
libaccfg: accfg_wq_set_size: wq0.3: size attribute write failed: Invalid argument
wq size exceeding max wq size was not accepted
accfg-test2 passed!
Running accfg-test3: wq boundary conditions set_ats_ disable: wq0.1: ats_disable attribute write failed: Operation not supported set_max_ batch_size: wq0.1: max_batch_size attribute write failed: Invalid argument set_max_ transfer_ size: wq0.1: write failed: Invalid argument set_max_ batch_size: wq0.1: max_batch_size attribute write failed: Invalid argument set_max_ transfer_ size: wq0.1: write failed: Invalid argument
configure device dsa0, group group0.0, wq wq0.1 for bounds test
libaccfg: accfg_wq_
trying to set wq max_batch_size = 0
libaccfg: accfg_wq_
trying to set wq max_transfer_size = 0
libaccfg: accfg_wq_
trying to set wq max_batch_size exceeding device max
libaccfg: accfg_wq_
trying to set wq max_transfer_size exceeding device max
libaccfg: accfg_wq_
0 and greater than device max values were not accepted
accfg-test3 passed!
test-libaccfg: PASS
SUCCESS!
libaccfg: accfg_unref: context 0x55aa58bdc2a0 released
2. DSA/IAA test, need add kernel command line "intel_ iommu=on, sm_on"
accel-config test only tested the accel-config itself. Not response for the DSA/IAA functions.
So, I run the dsa_test and found some errors.
root@test: ~/idxd- config/ test# accel-config load-config -c ./configs/ 2g2q_user_ 1.conf -e
Enabling device dsa0
Error enabling device
Error[0x800c0000] dsa0: wq error - no shared wq support (platform configuration error)
It indicates SWQ support missing. Then I found out the kernel command line missing, “intel_ iommu=on, sm_on”
If intel IOMMU and its scalable mode are not turn on in kernel config file, they require adding kernel parameters to be turn on.
# CONFIG_ INTEL_IOMMU_ DEFAULT_ ON is not set INTEL_IOMMU_ FLOPPY_ WA=y INTEL_IOMMU_ SCALABLE_ MODE_DEFAULT_ ON is not set
CONFIG_
# CONFIG_
After added the kernel parameters back, dsa_test passed.