[PATCH RFT 4/5] dmaengine: dw-edma: Dynamitc append new request during dmaengine running
Niklas Cassel
cassel at kernel.org
Fri Jan 23 02:41:54 PST 2026
On Fri, Jan 09, 2026 at 03:13:28PM -0500, Frank Li wrote:
> This use PCS-CCS-CB-TCB Producer-Consumer Synchronization module, which
> support append new DMA request during dmaengine runnings.
>
> Append new request during dmaengine runnings.
>
> But look like hardware have bug, which missed doorbell when engine is
> running. So add workaround to push doorbelll again when found engine stop.
>
> Get more than 10% performance gain.
>
> The before
> Rnd read, 4KB, QD=32, 4 jobs: IOPS=33.4k, BW=130MiB/s (137MB/s)
>
> After
> Rnd read, 4KB, QD=32, 4 jobs: IOPS=38.8k, BW=151MiB/s (159MB/s)
>
> Signed-off-by: Frank Li <Frank.Li at nxp.com>
> ---
Hello Frank,
First of all, I hope that your:
[PATCH v3 0/9] dmaengine: Add new API to combine configuration and descriptor preparation
series will make it to the upcoming 6.20/7.0 merge window.
This RFT series however breaks pci-epf-test:
Before:
# RUN pci_ep_data_transfer.dma.READ_TEST ...
# OK pci_ep_data_transfer.dma.READ_TEST
ok 14 pci_ep_data_transfer.dma.READ_TEST
# RUN pci_ep_data_transfer.dma.WRITE_TEST ...
# OK pci_ep_data_transfer.dma.WRITE_TEST
ok 15 pci_ep_data_transfer.dma.WRITE_TEST
After:
# RUN pci_ep_data_transfer.dma.READ_TEST ...
# READ_TEST: Test terminated by timeout
# FAIL pci_ep_data_transfer.dma.READ_TEST
not ok 14 pci_ep_data_transfer.dma.READ_TEST
# RUN pci_ep_data_transfer.dma.WRITE_TEST ...
# WRITE_TEST: Test terminated by timeout
# FAIL pci_ep_data_transfer.dma.WRITE_TEST
not ok 15 pci_ep_data_transfer.dma.WRITE_TEST
After a bisect, first bad commit:
commit 352fd8d5ed468ea616eb4974b5ac19203528b207
Author: Frank Li <Frank.Li at nxp.com>
Date: Fri Jan 9 15:13:28 2026 -0500
dmaengine: dw-edma: Dynamitc append new request during dmaengine running
Kind regards,
Niklas
More information about the Linux-nvme
mailing list