public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: vinod.koul@intel.com, linux@arm.linux.org.uk
Cc: tony@atomide.com, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, dmaengine@vger.kernel.org
Subject: [PATCH 0/4] dmaengine: omap-dma: transfer start and short memcpy improvement
Date: Wed, 11 Nov 2015 12:37:54 +0200	[thread overview]
Message-ID: <1447238278-15863-1-git-send-email-peter.ujfalusi@ti.com> (raw)

Hi,

The first two patch is trivial fix.
The third (remove the tasklet use for starting the transfer):
I had been wondering about this for a while and now I was able to spend some
time to look at this in more detail.
In 'normal' operation I have never seen the tasklet to start more then one
transfer even when pushing I/O based workloads on the board. However when I run
the DMAtest module I can see that the tasklet executes about 15 transfers.
When the tasklet use has been removed, everything worked as well as before but
the throughput of MMC/SD and memcpy increased slightly:

dd if=/dev/mmcblk0 of=/dev/null bs=64k count=24000
~16.5 MB/s -> ~16.6 MB/s

echo 6553 > /sys/module/dmatest/parameters/test_buf_size
echo 2000 > /sys/module/dmatest/parameters/timeout
echo 5000 > /sys/module/dmatest/parameters/iterations
~585 KB/s -> ~638 KB/s

It worth mentioning that _with_ the tasklet starting the transfers I managed to
hit a situation once when for some reason the memcpy tests were started to time
out. This happend with memcpy, iozone, dd and grep -R blabla /usr/ running at
the same time.

The last patch is to correct the behaviour of omap-dma when short memcpy is used
by a client and the client is not using completion, but polling for the end of
the transfer.

Regards,
Peter
---
Peter Ujfalusi (4):
  dmaengine: omap-dma: Correct status reporting for memcpy
  dmaengine: omap-dma: Clean up the prep_slave_sg sg list walk code
  dmaengine: omap-dma: Remove tasklet to start the transfers
  dmaengine: omap-dma: Handle cases when the channel is polled for
    completion

 drivers/dma/omap-dma.c | 78 +++++++++-----------------------------------------
 1 file changed, 14 insertions(+), 64 deletions(-)

-- 
2.6.2

             reply	other threads:[~2015-11-11 10:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-11 10:37 Peter Ujfalusi [this message]
2015-11-11 10:37 ` [PATCH 1/4] dmaengine: omap-dma: Correct status reporting for memcpy Peter Ujfalusi
2015-11-11 10:37 ` [PATCH 2/4] dmaengine: omap-dma: Clean up the prep_slave_sg sg list walk code Peter Ujfalusi
2015-11-11 10:37 ` [PATCH 3/4] dmaengine: omap-dma: Remove tasklet to start the transfers Peter Ujfalusi
2015-11-11 10:37 ` [PATCH 4/4] dmaengine: omap-dma: Handle cases when the channel is polled for completion Peter Ujfalusi
2015-12-05  8:07 ` [PATCH 0/4] dmaengine: omap-dma: transfer start and short memcpy improvement Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1447238278-15863-1-git-send-email-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=tony@atomide.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox