From: "Wolfgang Mües" <wolfgang.mues@auerswald.de>
To: "Matt Fleming" <matt@console-pimps.org>
Cc: "Pierre Ossman" <drzeus@drzeus.cx>,
"Andrew Morton" <akpm@linux-foundation.org>,
"David Brownell" <dbrownell@users.sourceforge.net>,
"Mike Frysinger" <vapier.adi@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7] mmc_spi: allow higher timeouts for SPI mode
Date: Wed, 11 Mar 2009 15:55:00 +0100 [thread overview]
Message-ID: <200903111555.00982.wolfgang.mues@auerswald.de> (raw)
In-Reply-To: <20090311140219.GA1475@console-pimps.org>
Matt,
Am Mittwoch, 11. März 2009 schrieb Matt Fleming:
> I am correct in thinking that this patch, in conjuction with your other
> patch, "[PATCH 6/7] mmc_spi: convert timeout handling to jiffies and avoid
> busy waiting", will now penalize my working card and mandate a timeout
> of 1 second?
>
> Without your patch 6 at least mmc_spi_skip() would busy-wait for the
> response, and if my card completed in less than 1 second then it'd just
> return quicker.
>
> It seems you've introduced a performance hit on all MMC over SPI cards.
No.
A timeout is a maximum time to wait, not a minimum time.
Waiting is terminated by a response or by the timeout, whichever comes sooner.
My patch 6 in mmc_spi_skip() is doing a busy-wait for a short while ( less
than 1 jiffie), and starts to call schedule() inside the loop if the card is
slower.
My goal was to avoid the long-lasting busy waiting. I have measured times up
to 900ms! With my patch, the longest busy waiting will be 1 jiffie.
And yes, if the SD card is sending its response after 5 jiffies, it is
recognized only after the scheduler schedules this process, which will incure
a delay to the data transfer. The amount of delay is determined by the number
of running processes and the number of HZ.
The typical case for this is a series of data block writes to the SD card.
Until the internal card buffers are full, such writes will be acknowledged by
a fast response. But if the card buffers are full, you will get one long
delay until the card controller has written most of the pending data to
flash.
best regards
i. A. Wolfgang Mües
--
Auerswald GmbH & Co. KG
Hardware Development
Telefon: +49 (0)5306 9219 0
Telefax: +49 (0)5306 9219 94
E-Mail: Wolfgang.Mues@Auerswald.de
Web: http://www.auerswald.de
--------------------------------------------------------------
Auerswald GmbH & Co. KG, Vor den Grashöfen 1, 38162 Cremlingen
Registriert beim AG Braunschweig HRA 13289
p.h.G Auerswald Geschäftsführungsges. mbH
Registriert beim AG Braunschweig HRB 7463
Geschäftsführer: Dipl-Ing. Gerhard Auerswald
next prev parent reply other threads:[~2009-03-11 14:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-11 13:28 Wolfgang Mües
2009-03-11 14:02 ` Matt Fleming
2009-03-11 14:55 ` Wolfgang Mües [this message]
2009-03-11 15:46 ` Matt Fleming
2009-03-11 16:14 ` Wolfgang Mües
2009-03-11 20:17 ` David Brownell
2009-03-12 8:16 ` Wolfgang Mües
2009-03-11 20:15 ` David Brownell
2009-03-15 11:27 ` 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=200903111555.00982.wolfgang.mues@auerswald.de \
--to=wolfgang.mues@auerswald.de \
--cc=akpm@linux-foundation.org \
--cc=dbrownell@users.sourceforge.net \
--cc=drzeus@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@console-pimps.org \
--cc=vapier.adi@gmail.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
all inboxes | Powered by JetHome®