[Accel-config] Re: [PATCH 1/1] accel-config/test: Remove pasid_enabled restriction from test script

Dave Jiang <dave.jiang at intel.com> Thu, 07 Jul 2022 14:56:30 -0700
Newsgroups dev.linux.lists.accel-config
Message-ID <[email protected]>
--===============8675627877182479099==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

After discussion with Fenghua, I think the conclusion is that we leave =

pasid_en tied to the user pasid enable. Reason being:

1. preserve legacy usage

2. no current kernel user care about the sysfs attribute, so until a =

customer really wants to know about the kernel side, no need to =

introduce a kernel_pasid_en attribute.

so I would change the patch to:

sysfs_emit(buf, "%u\n", device_user_pasid_enabled(idxd));

Otherwise if user pasid is disabled and DMA pasid is enabled, your =

script will still fail.

On 6/28/2022 8:00 PM, Shen, Xiaochen wrote:
> Hi Tony and Fenghua,
>
> This issue may be impacted by this 5.19 upstream patch:
> 42a1b73852c4a176d233a192422b5e1d0ba67cbf dmaengine: idxd: Separate user a=
nd kernel pasid enabling
>
> The sysfs interface "pasid_enabled" doesn't reflect the newly added flag:
>          IDXD_FLAG_PASID_ENABLED,
> +       IDXD_FLAG_USER_PASID_ENABLED,
>
>
> This patch may fix this issue:
>
> diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c
> index dfd549685c46..53e34a1d62d9 100644
> --- a/drivers/dma/idxd/sysfs.c
> +++ b/drivers/dma/idxd/sysfs.c
> @@ -1223,7 +1223,8 @@ static ssize_t pasid_enabled_show(struct device *de=
v,
>   {
>          struct idxd_device *idxd =3D confdev_to_idxd(dev);
>
> -       return sysfs_emit(buf, "%u\n", device_pasid_enabled(idxd));
> +       return sysfs_emit(buf, "%u\n",
> +                         device_pasid_enabled(idxd) || device_user_pasid=
_enabled(idxd));
>   }
>   static DEVICE_ATTR_RO(pasid_enabled);
>
>
> Best regards,
> Xiaochen
>
> -----Original Message-----
> From: Zhu, Tony <tony.zhu(a)intel.com>
> Sent: Wednesday, June 29, 2022 10:05
> To: Yu, Fenghua <fenghua.yu(a)intel.com>
> Cc: accel-config(a)lists.01.org; Thomas, Ramesh <ramesh.thomas(a)intel.co=
m>
> Subject: [Accel-config] Re: [PATCH 1/1] accel-config/test: Remove pasid_e=
nabled restriction from test script
>
> Fenghua,
>
>    pasid_enabled is 1 when it is scalable mode for old kernel such as spr=
-bkc. For kernel code 5.18, pasid_enabled is 0. Though pasid_enable is 0, b=
ut the passid is still assigned.
> I didn't know which commit bring this change. But from the test result, I=
 could see pasid table entry in dmesg log.
>
>
> Tony(zhu, xinzhan)
> Cube:SHZ1-3W-279
> iNet:8821-5077
>
> -----Original Message-----
> From: Yu, Fenghua <fenghua.yu(a)intel.com>
> Sent: Tuesday, June 28, 2022 11:38 PM
> To: Zhu, Tony <tony.zhu(a)intel.com>
> Cc: accel-config(a)lists.01.org; Thomas, Ramesh <ramesh.thomas(a)intel.co=
m>
> Subject: Re: [PATCH 1/1] accel-config/test: Remove pasid_enabled restrict=
ion from test script
>
> Hi, Tony,
>
> On Tue, Jun 28, 2022 at 02:40:24PM +0800, Tony Zhu wrote:
>> Kernel removed the restriction because it broken accel-config. Failure
>                                             s/broken/breaks/
>> will happen during wq enable. Remove the checking from test script too.
>>
>> Signed-off-by: Tony Zhu <tony.zhu(a)intel.com>
>> ---
>>   test/dsa_user_test_runner.sh | 5 -----
>>   1 file changed, 5 deletions(-)
>>
>> diff --git a/test/dsa_user_test_runner.sh
>> b/test/dsa_user_test_runner.sh index dfaa930..ae9010d 100755
>> --- a/test/dsa_user_test_runner.sh
>> +++ b/test/dsa_user_test_runner.sh
>> @@ -19,11 +19,6 @@ check_min_kver "5.6" || do_skip "kernel does not supp=
ort idxd"
>>   # skip if no pasid support as dsa_test does not support operation w/o =
pasid yet.
>>   [ ! -f "/sys/bus/dsa/devices/$DSA/pasid_enabled" ] && echo "No SVM sup=
port" && exit "$EXIT_SKIP"
>>   =

>> -pasid_en=3D$(cat /sys/bus/dsa/devices/$DSA/pasid_enabled)
>> -if [ "$pasid_en" -ne 1 ]; then
>> -	exit "$EXIT_SKIP"
>> -fi
>> -
> Without pasid, what sub-tests can run? Seems to me, without PASID enabled=
, the test cannot continue.
>
>>   start_dsa()
>>   {
>>   	configurable=3D$(cat /sys/bus/dsa/devices/$DSA/configurable)
>> --
>> 2.27.0
>>
> Thanks.
>
> -Fenghua
> _______________________________________________
> Accel-config mailing list -- accel-config(a)lists.01.org To unsubscribe s=
end an email to accel-config-leave(a)lists.01.org
> _______________________________________________
> Accel-config mailing list -- accel-config(a)lists.01.org
> To unsubscribe send an email to accel-config-leave(a)lists.01.org
--===============8675627877182479099==--