Re: [PATCH v5 0/4] Migrate PCI Endpoint Subsystem tests to Kselftest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 16, 2025 at 07:21:02PM +0530, Manivannan Sadhasivam wrote:
> Hi,
> 
> This series carries forward the effort to add Kselftest for PCI Endpoint
> Subsystem started by Aman Gupta [1] a while ago. I reworked the initial version
> based on another patch that fixes the return values of IOCTLs in
> pci_endpoint_test driver and did many cleanups. Since the resulting work
> modified the initial version substantially, I took over the authorship.
> 
> This series also incorporates the review comment by Shuah Khan [2] to move the
> existing tests from 'tools/pci' to 'tools/testing/kselftest/pci_endpoint' before
> migrating to Kselftest framework. I made sure that the tests are executable in
> each commit and updated documentation accordingly.
> 
> - Mani
> 
> [1] https://lore.kernel.org/linux-pci/20221007053934.5188-1-aman1.gupta@xxxxxxxxxxx
> [2] https://lore.kernel.org/linux-pci/b2a5db97-dc59-33ab-71cd-f591e0b1b34d@xxxxxxxxxxxxxxxxxxx
> 
> Changes in v5:
> 
> * Incorporated comments from Niklas
> * Added a patch to fix the DMA MEMCPY check in pci-epf-test driver
> * Collected tags
> * Rebased on top of pci/next 0333f56dbbf7ef6bb46d2906766c3e1b2a04a94d
> 
> Changes in v4:
> 
> * Dropped the BAR fix patches and submitted them separately:
>   https://lore.kernel.org/linux-pci/20241231130224.38206-1-manivannan.sadhasivam@xxxxxxxxxx/
> * Rebased on top of pci/next 9e1b45d7a5bc0ad20f6b5267992da422884b916e
> 
> Changes in v3:
> 
> * Collected tags.
> * Added a note about failing testcase 10 and command to skip it in
>   documentation.
> * Removed Aman Gupta and Padmanabhan Rajanbabu from CC as their addresses are
>   bouncing.
> 
> Changes in v2:
> 
> * Added a patch that fixes return values of IOCTL in pci_endpoint_test driver
> * Moved the existing tests to new location before migrating
> * Added a fix for BARs on Qcom devices
> * Updated documentation and also added fixture variants for memcpy & DMA modes
> 
> 
> Manivannan Sadhasivam (4):
>   PCI: endpoint: pci-epf-test: Fix the check for DMA MEMCPY test
>   misc: pci_endpoint_test: Fix the return value of IOCTL
>   selftests: Move PCI Endpoint tests from tools/pci to Kselftests
>   selftests: pci_endpoint: Migrate to Kselftest framework
> 
>  Documentation/PCI/endpoint/pci-test-howto.rst | 170 +++++------
>  MAINTAINERS                                   |   2 +-
>  drivers/misc/pci_endpoint_test.c              | 255 +++++++++--------
>  drivers/pci/endpoint/functions/pci-epf-test.c |   4 +-
>  tools/pci/Build                               |   1 -
>  tools/pci/Makefile                            |  58 ----
>  tools/pci/pcitest.c                           | 264 ------------------
>  tools/pci/pcitest.sh                          |  73 -----
>  tools/testing/selftests/Makefile              |   1 +
>  .../testing/selftests/pci_endpoint/.gitignore |   2 +
>  tools/testing/selftests/pci_endpoint/Makefile |   7 +
>  tools/testing/selftests/pci_endpoint/config   |   4 +
>  .../pci_endpoint/pci_endpoint_test.c          | 221 +++++++++++++++
>  13 files changed, 435 insertions(+), 627 deletions(-)
>  delete mode 100644 tools/pci/Build
>  delete mode 100644 tools/pci/Makefile
>  delete mode 100644 tools/pci/pcitest.c
>  delete mode 100644 tools/pci/pcitest.sh
>  create mode 100644 tools/testing/selftests/pci_endpoint/.gitignore
>  create mode 100644 tools/testing/selftests/pci_endpoint/Makefile
>  create mode 100644 tools/testing/selftests/pci_endpoint/config
>  create mode 100644 tools/testing/selftests/pci_endpoint/pci_endpoint_test.c
> 
> -- 
> 2.25.1
> 

I ran the test using simply:

$ ./pci_endpoint_test

and got:

#  RUN           pci_ep_basic.MSIX_TEST ...
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X33
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X34
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X35
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X36
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X37
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X38
# pci_endpoint_test.c:129:MSIX_TEST:Expected 0 (0) == ret (-110)
# pci_endpoint_test.c:129:MSIX_TEST:Test failed for MSI-X39


I think that you should also do:

diff --git a/Documentation/PCI/endpoint/pci-test-howto.rst b/Documentation/PCI/endpoint/pci-test-howto.rst
index 7d0dbad61456..7d5049c884dd 100644
--- a/Documentation/PCI/endpoint/pci-test-howto.rst
+++ b/Documentation/PCI/endpoint/pci-test-howto.rst
@@ -81,8 +81,8 @@ device, the following commands can be used::
 
        # echo 0x104c > functions/pci_epf_test/func1/vendorid
        # echo 0xb500 > functions/pci_epf_test/func1/deviceid
-       # echo 16 > functions/pci_epf_test/func1/msi_interrupts
-       # echo 8 > functions/pci_epf_test/func1/msix_interrupts
+       # echo 32 > functions/pci_epf_test/func1/msi_interrupts
+       # echo 2048 > functions/pci_epf_test/func1/msix_interrupts
 

Such that the documentation suggests values that will actually make the
pci_endpoint_test pass without any special parameters set.


Other than that small nit, for the series:
Tested-by: Niklas Cassel <cassel@xxxxxxxxxx>




[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux