Re: [RFC PATCH 00/11] Introduce a test for continuous transfer

From: Shunsuke Mie
Date: Tue Apr 04 2023 - 05:57:38 EST



On 2023/03/31 14:38, Manivannan Sadhasivam wrote:
On Fri, Mar 17, 2023 at 08:32:27PM +0900, Shunsuke Mie wrote:
This patchset introduces testing through continuous transfer to the PCI
endpoint tests. The purpose is to find bugs that may exist in the endpoint
controller driver. This changes able to find bugs in the DW EDMA driver and
this patchset includes the fix.

This bug does not appear in the current tests because these synchronize to
finish with every data transfer. However, the problem occurs with
continuous DMA issuances. The continuous transfers are required to get high
throughput and low latency. Therefore, the added tests will enable
realistic transfer testing.

This patchset is divided into three parts:
- Remove duplicated definitions and improve some code [1-6/11]
- Add continuous transfer tests [7-9/11]
- Fix for the DW EDMA driver bug [10,11/11]

This patchset has beed tested on RCar Spidar that has dw pci edma chip.

If you want maintainers to review the patches separately, please remove the RFC
tag. Unless you are looking for some overall feedback about the approach.
Got it.

But we are in the process of migrating the existing test under tools to
Kselftest framework [1]. Until then, we cannot accept patches improving the
existing test code. So please respin the patches on top of the Kselftest patch
once it got posted. It's already due for some time :/
I understood. I'll track the work of Kselftest migration.

Also the subject should mention "PCI endpoint".
Yes.

- Mani

[1] https://lore.kernel.org/all/20221007053934.5188-1-aman1.gupta@xxxxxxxxxxx/
Thank you for your comments.
Shunsuke Mie (11):
misc: pci_endpoint_test: Aggregate irq_type checking
misc: pci_endpoint_test: Remove an unused variable
pci: endpoint: function/pci-epf-test: Unify a range of time
measurement
PCI: endpoint: functions/pci-epf-test: Move common difinitions to
header file
MAINTAINERS: Add a header file for pci-epf-test
misc: pci_endpoint_test: Use a common header file between endpoint
driver
PCI: endpoint: functions/pci-epf-test: Extend the test for continuous
transfers
misc: pci_endpoint_test: Support a test of continuous transfer
tools: PCI: Add 'C' option to support continuous transfer
dmaengine: dw-edma: Fix to change for continuous transfer
dmaengine: dw-edma: Fix to enable to issue dma request on DMA
processing

MAINTAINERS | 1 +
drivers/dma/dw-edma/dw-edma-core.c | 30 ++-
drivers/misc/pci_endpoint_test.c | 132 ++++--------
drivers/pci/endpoint/functions/pci-epf-test.c | 199 ++++++++----------
include/linux/pci-epf-test.h | 67 ++++++
include/uapi/linux/pcitest.h | 1 +
tools/pci/pcitest.c | 13 +-
7 files changed, 231 insertions(+), 212 deletions(-)
create mode 100644 include/linux/pci-epf-test.h

--
2.25.1

Best,

Shunsuke.