linux-hardened/drivers/dma
Peter Ujfalusi 1c1d25f9f9 dmaengine: omap-dma: Remove tasklet to start the transfers
The use of tasklet to actually start the DMA transfer slightly decreases the
DMA throughput since it adds small scheduling delay when the transfer is
started. In normal use, even with high I/O load the tasklet would start
one transaction at a time, however running the DMAtest for memcpy on all
available channels will cause the tasklet to start about 15 transfers.
The performance numbers on OMAP4 PandaBoard-es (test_buf_size = 6553):
With the tasklet:
dmatest: dma0chan30-copy: summary 5000 tests, 0 failures 186 iops 593 KB/s (0)
dmatest: dma0chan8-copy0: summary 5000 tests, 0 failures 184 iops 584 KB/s (0)
dmatest: dma0chan13-copy: summary 5000 tests, 0 failures 184 iops 585 KB/s (0)
dmatest: dma0chan12-copy: summary 5000 tests, 0 failures 184 iops 585 KB/s (0)
dmatest: dma0chan7-copy0: summary 5000 tests, 0 failures 183 iops 581 KB/s (0)

With this patch (no tasklet):
dmatest: dma0chan4-copy0: summary 5000 tests, 0 failures 199 iops 644 KB/s (0)
dmatest: dma0chan5-copy0: summary 5000 tests, 0 failures 199 iops 645 KB/s (0)
dmatest: dma0chan6-copy0: summary 5000 tests, 0 failures 199 iops 637 KB/s (0)
dmatest: dma0chan24-copy: summary 5000 tests, 0 failures 199 iops 638 KB/s (0)
dmatest: dma0chan16-copy: summary 5000 tests, 0 failures 199 iops 638 KB/s (0)

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-12-05 13:36:38 +05:30
..
bestcomm
dw dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
hsu dmaengine: hsu: remove platform data 2015-10-17 21:22:08 -07:00
ioat dmaengine: ioatdma: add PCIe AER handlers 2015-09-21 21:10:05 +05:30
ipu genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ppc4xx
sh dmaengine: sort the sh Makefile 2015-08-26 07:50:17 +05:30
xilinx dmaengine: xilinx: Fix module autoload for OF platform driver 2015-10-01 07:35:39 +05:30
acpi-dma.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
amba-pl08x.c dmaengine: pl08x: support dt channel assignment 2015-08-18 22:12:14 +05:30
at_hdmac.c dmaengine: hdmac: Add scatter-gathered memset support 2015-10-29 10:41:16 +09:00
at_hdmac_regs.h dmaengine: hdmac: factorise memset descriptor allocation 2015-10-29 10:40:09 +09:00
at_xdmac.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
bcm2835-dma.c
coh901318.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
coh901318.h
coh901318_lli.c
cppi41.c
dma-axi-dmac.c dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller 2015-08-23 18:55:10 +05:30
dma-jz4740.c
dma-jz4780.c dmaengine: jz4780: Kill tasklets before unregistering the device 2015-08-18 22:28:50 +05:30
dmaengine.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
dmaengine.h
dmatest.c
edma.c dmaengine: edma: Add dummy driver skeleton for edma3-tptc 2015-11-04 22:11:42 +05:30
ep93xx_dma.c
fsl-edma.c
fsl_raid.c
fsl_raid.h
fsldma.c dmaengine: fsldma: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
fsldma.h
idma64.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
idma64.h dmaengine: idma64: use lo_hi_readq() / lo_hi_writeq() 2015-09-25 07:54:05 +05:30
img-mdc-dma.c
imx-dma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
imx-sdma.c dmaengine: imx-sdma: Remove unneeded dev_info() 2015-10-07 15:03:08 +01:00
iop-adma.c drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style 2015-08-25 09:59:46 +02:00
k3dma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
Kconfig Merge branch 'topic/idma' into for-linus 2015-10-31 07:37:05 +05:30
lpc18xx-dmamux.c dmaengine: add driver for lpc18xx dmamux 2015-08-18 22:12:14 +05:30
Makefile dmaengine: idma: rename to INTEL_IDMA64 2015-09-24 20:55:58 +05:30
mic_x100_dma.c dma: Add support to program MIC x100 status descriptiors 2015-10-04 12:46:06 +01:00
mic_x100_dma.h dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
mmp_pdma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
mmp_tdma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
moxart-dma.c dmaengine: moxart-dma: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
mpc512x_dma.c dmaengine: mpc512x: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
mv_xor.c dmaengine updates for 4.3-rc1 2015-09-04 11:10:18 -07:00
mv_xor.h
mxs-dma.c
nbpfaxi.c
of-dma.c
omap-dma.c dmaengine: omap-dma: Remove tasklet to start the transfers 2015-12-05 13:36:38 +05:30
pch_dma.c
pl330.c dmaengine updates for 4.3-rc1 2015-09-04 11:10:18 -07:00
pxa_dma.c dmaengine: pxa_dma: fix residue corner case 2015-10-01 07:44:31 +05:30
qcom_bam_dma.c
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c dmaengine: sirf: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
ste_dma40.c dmaengine: ste_dma40: fix a trivial typo 2015-10-25 04:15:40 +05:30
ste_dma40_ll.c
ste_dma40_ll.h
sun4i-dma.c dmaengine: sun4i: fix unsafe list iteration 2015-09-30 12:17:22 +05:30
sun6i-dma.c dmaengine: sun6i: Fix module autoload for OF platform driver 2015-10-01 07:35:26 +05:30
tegra20-apb-dma.c dmaengine: tegra-apb: Simplify locking for device using global pause 2015-08-20 12:10:25 +05:30
ti-dma-crossbar.c dmaengine: ti-dma-crossbar: Add support for crossbar on AM33xx/AM43xx 2015-10-27 10:22:45 +09:00
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
virt-dma.c
virt-dma.h dmaengine: virt-dma: Fix kernel-doc annotations 2015-10-27 11:12:09 +09:00
xgene-dma.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
zx296702_dma.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00