mbox series

[V3,0/5] dmaengine: dmatest: Add multi chan and new params

Message ID 1537386774-20749-1-git-send-email-seraj.alijan@sondrel.com (mailing list archive)
Headers show
Series dmaengine: dmatest: Add multi chan and new params | expand

Message

Seraj Alijan Sept. 19, 2018, 7:52 p.m. UTC
This patch set improves the dmatest module by adding multi channel
testing capabilities and new parameters to allow more explicit control
of the test functionality.
Multi channel testing is added by the first patch to improve the process
of testing DMA devices with multiple channels as the current driver
limits testing to one specified channel per test run. The second patch
improves iops results reported by the test for operations that last for
more than one second as the test currently reports an incorrect 0 iops
for long operations. The third patch adds a new property that allows
configuration of address alignment from user space, and the fourth patch
adds the ability to specify test transfer size without relying on a
randomly generated transfer size.
The fifth patch updates the API documentation to reflect the new
changes.

V3:
- Improved dmatest_chan_set to avoid adding channels that are
  already requested and generate an error if a channel allocation
  failed.
- Added the ability to manually clear test list.
- Added more verbose test info to print thread info for each thread
  successfully started.
- Modify dmatest_run_set to print message if the user started a
  test without configuring channels indicating failed test attempt.
- Add dmatest_test_list_get to allow querying test list during
  configuration.
- Added new section in the documentation to explain how Channels are
  allocated/freed.

V2:
 Use do_div() instead of DIV_ROUND_CLOSEST for division, otherwise the
 module will reference __udivdi3 which is not present in 32-bit kernel and
 cause the following error:

 drivers/dma/dmatest.o: In function `dmatest_persec':
 >> drivers/dma/dmatest.c:457: undefined reference to `__udivdi3'
 >> drivers/dma/dmatest.c:457: undefined reference to `__udivdi3'
 >> drivers/dma/dmatest.c:457: undefined reference to `__udivdi3'


Seraj Alijan (5):
  dmaengine: dmatest: Add support for multi channel testing
  dmaengine: dmatest: Use fixed point div to calculate iops
  dmaengine: dmatest: Add alignment parameter
  dmaengine: dmatest: Add transfer_size parameter
  dmaengine: Documentation: Add documentation for multi chan testing

 Documentation/driver-api/dmaengine/dmatest.rst | 109 ++++++++++-
 drivers/dma/dmatest.c                          | 259 ++++++++++++++++++++++---
 2 files changed, 330 insertions(+), 38 deletions(-)

Comments

Vinod Koul Dec. 5, 2018, 5:24 p.m. UTC | #1
On 19-09-18, 20:52, Seraj Alijan wrote:
> This patch set improves the dmatest module by adding multi channel
> testing capabilities and new parameters to allow more explicit control
> of the test functionality.
> Multi channel testing is added by the first patch to improve the process
> of testing DMA devices with multiple channels as the current driver
> limits testing to one specified channel per test run. The second patch
> improves iops results reported by the test for operations that last for
> more than one second as the test currently reports an incorrect 0 iops
> for long operations. The third patch adds a new property that allows
> configuration of address alignment from user space, and the fourth patch
> adds the ability to specify test transfer size without relying on a
> randomly generated transfer size.
> The fifth patch updates the API documentation to reflect the new
> changes.

Sorry for the delay, this fails to apply for me. Can you please rebase
on topic/dmatest or next and resend

Thanks