linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg
@ 2016-07-14 12:42 Peter Ujfalusi
  2016-07-14 12:42 ` [PATCH 1/7] dmaengine: omap-dma: Simplify omap_dma_start_sg parameter list Peter Ujfalusi
                   ` (7 more replies)
  0 siblings, 8 replies; 24+ messages in thread
From: Peter Ujfalusi @ 2016-07-14 12:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

The following series with the final patch will add support for sDMA Linked List
transfer support.
Linked List is supported by sDMA in OMAP3630+ (OMAP4/5, dra7 family).
If the descriptor load feature is present we can create the descriptors for each
SG beforehand and let sDMA to walk them through.
This way the number of sDMA interrupts the kernel need to handle will drop
dramatically.

I have gathered some numbers to show the difference.

Booting up the board with filesystem on SD card for example:
# cat /proc/interrupts | grep dma
W/o LinkedList support:
 27:       4436          0     WUGEN  13 Level     omap-dma-engine

Same board/filesystem with this patch:
 27:       1027          0     WUGEN  13 Level     omap-dma-engine

Or copying files from SD card to eMCC:
# du -h /usr
2.1G    /usr/
# find /usr/ -type f | wc -l
232001

# cp -r /usr/* /mnt/emmc/tmp/

W/o LinkedList we see ~761069 DMA interrupts.
With LinkedList support it is down to ~269314 DMA interrupts.

With the decreased DMA interrupt number the CPU load is dropping
significantly as well.

The series depends on the interleaved transfer support patch I have sent couple
of days ago:
https://lkml.org/lkml/2016/7/12/216

Regards,
Peter
---
Peter Ujfalusi (7):
  dmaengine: omap-dma: Simplify omap_dma_start_sg parameter list
  dmaengine: omap-dma: Complete the cookie first on transfer completion
  dmaengine: omap-dma: Simplify omap_dma_callback
  dmaengine: omap-dma: Dynamically allocate memory for lch_map
  dmaengine: omap-dma: Add more debug information when freeing channel
  dmaengine: omap-dma: Use pointer to omap_sg in slave_sg setup's loop
  dmaengine: omap-dma: Support for LinkedList transfer of slave_sg

 drivers/dma/omap-dma.c | 234 +++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 207 insertions(+), 27 deletions(-)

--
2.9.1

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2016-07-24  7:39 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-14 12:42 [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 1/7] dmaengine: omap-dma: Simplify omap_dma_start_sg parameter list Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 2/7] dmaengine: omap-dma: Complete the cookie first on transfer completion Peter Ujfalusi
2016-07-18 10:34   ` Russell King - ARM Linux
2016-07-19 12:35     ` Peter Ujfalusi
2016-07-19 16:20       ` Russell King - ARM Linux
2016-07-19 19:23         ` Peter Ujfalusi
2016-07-24  7:39         ` Vinod Koul
2016-07-20  6:26       ` Robert Jarzmik
2016-07-21  9:33         ` Peter Ujfalusi
2016-07-21  9:35           ` Peter Ujfalusi
2016-07-21  9:47           ` Russell King - ARM Linux
2016-07-22 11:00             ` Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 3/7] dmaengine: omap-dma: Simplify omap_dma_callback Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 4/7] dmaengine: omap-dma: Dynamically allocate memory for lch_map Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 5/7] dmaengine: omap-dma: Add more debug information when freeing channel Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 6/7] dmaengine: omap-dma: Use pointer to omap_sg in slave_sg setup's loop Peter Ujfalusi
2016-07-14 12:42 ` [PATCH 7/7] dmaengine: omap-dma: Support for LinkedList transfer of slave_sg Peter Ujfalusi
2016-07-18 10:42   ` Russell King - ARM Linux
2016-07-18 11:12     ` Peter Ujfalusi
2016-07-18 10:31 ` [PATCH 0/7] dmaengine:omap-dma: Linked List transfer for slave_sg Russell King - ARM Linux
2016-07-18 12:07   ` Peter Ujfalusi
2016-07-18 12:21     ` Russell King - ARM Linux
2016-07-18 12:30       ` Peter Ujfalusi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).