public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: "Wolfgang Mües" <wolfgang.mues@auerswald.de>
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:46:05 +0000	[thread overview]
Message-ID: <20090311154605.GD1475@console-pimps.org> (raw)
In-Reply-To: <200903111555.00982.wolfgang.mues@auerswald.de>

On Wed, Mar 11, 2009 at 03:55:00PM +0100, Wolfgang Mües wrote:
> 
> 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.
> 

OK, but if my machine runs at 100 HZ then a jiffie is 10ms. Previously
(without your patch) we waited for 300ms in the write case and 100ms in
the read case. So, it's not unreasonable to think that a response is
going to take more than 10ms. With your patch we're almost always going
to schedule() with no indication of exactly when we're going to come
back.

> 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. 
> 

I agree that busy-waiting for 900ms would be a bit mad. Is there a
reason that you didn't implement this with msleep() as was noted in the
comment above the timeout?


                /* REVISIT investigate msleep() to avoid busy-wait I/O
                 * in at least some cases.
                 */


> 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.
> 

Have you benchmarked this case? Do you know approximately how long it
is before we return from the schedule() under various workloads?

  reply	other threads:[~2009-03-11 15:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-11 13:28 [PATCH 5/7] mmc_spi: allow higher timeouts for SPI mode Wolfgang Mües
2009-03-11 14:02 ` Matt Fleming
2009-03-11 14:55   ` Wolfgang Mües
2009-03-11 15:46     ` Matt Fleming [this message]
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=20090311154605.GD1475@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=akpm@linux-foundation.org \
    --cc=dbrownell@users.sourceforge.net \
    --cc=drzeus@drzeus.cx \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vapier.adi@gmail.com \
    --cc=wolfgang.mues@auerswald.de \
    /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