From: Christer Weinigel <christer@weinigel.se>
To: Ben Dooks <ben-linux@fluff.org>
Cc: linux-kernel@vger.kernel.org, Pierre Ossman <drzeus-list@drzeus.cx>
Subject: Re: Proposed SDIO layer rework
Date: Fri, 05 Sep 2008 15:47:21 +0200 [thread overview]
Message-ID: <48C13869.9040603@weinigel.se> (raw)
In-Reply-To: <20080905131855.GY26082@trinity.fluff.org>
Ben Dooks wrote:
>> Most of the CPU is probably spent doing PIO transfers to the SDIO
>> controller, if DMA starts working in the s3cmci driver, the CPU load
>> difference will be even larger.
>
> I'm not sure if I'll get the time to look at this before the new kernel
> is released... anyway DMA may not be much of a win for smaller transfers
> anyway, since the setup (the cache will need to be cleaned out or the
> transfer memory made unbuffered) and complete time will add another
> IRQ's worth of response time. This means small transfers are probably
> better off using PIO.
Yes. For the DMA-capable S3C SPI driver I wrote, I added some
thresholds, so for smaller transfers than a certain number of bytes, I
skip DMA and just do a polled/interrupt transfer instead. For short
transfers at high clock rates it's not even worth getting an interrupt
per byte, it's better to just busy wait for each byte, since the
interrupt overhead is larger than the time between each byte.
A SDIO CMD/response packet is 48 bits, so at 25 MHz that is only about 4
us and I think the interrupt overhead is more than that. So if we
really want to squeeze every last clock cycle out of the SDIO driver it
may be better to busy wait for the end of simple CMD52s instead of using
the an interrupt to complete the transfer.
I'll clean up my s3cmci patches and send them to you, but I can't
promise when I'll be done, so it'll probably have to wait for the next
kernel release.
/Christer
next prev parent reply other threads:[~2008-09-05 13:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-05 11:45 Proposed SDIO layer rework Christer Weinigel
2008-09-05 13:18 ` Ben Dooks
2008-09-05 13:47 ` Christer Weinigel [this message]
2008-09-05 14:02 ` Ben Dooks
2008-09-05 17:08 ` Ben Dooks
2008-09-05 14:50 ` Pierre Ossman
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=48C13869.9040603@weinigel.se \
--to=christer@weinigel.se \
--cc=ben-linux@fluff.org \
--cc=drzeus-list@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
/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