From: Matthieu CASTET <matthieu.castet@parrot.com>
To: Pierre Ossman <pierre@ossman.eu>
Cc: "sdhci-devel@lists.ossman.eu" <sdhci-devel@lists.ossman.eu>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: sdhci can turn off irq up to 200 ms
Date: Mon, 7 Sep 2009 11:56:10 +0200 [thread overview]
Message-ID: <4AA4D8BA.602@parrot.com> (raw)
In-Reply-To: <20090906152537.15303d69@mjolnir.ossman.eu>
Pierre Ossman a écrit :
> On Thu, 9 Jul 2009 12:28:01 +0200
> Matthieu CASTET <matthieu.castet@parrot.com> wrote:
>
>> Matthieu CASTET a écrit :
>>> Hi,
>>>
>>> sdhci code got tasklets (sdhci_tasklet_card and sdhci_tasklet_finish),
>>> that does :
>>> {
>>> spin_lock_irqsave
>>>
>>> if (cond) {
>>> sdhci_reset
>>> sdhci_reset
>>> }
>>>
>>> spin_unlock_irqrestore
>>> }
>>>
>>> The problem is that sdhci_reset [1] does busy pooling on a register up
>>> to a timeout of 100 ms.
>>> That's not low latency friendly.
>>>
>>> On our system, we saw that sdhci_reset take 1 ms. That should be because
>>> we enter in mdelay, even if the hardware clears the bit faster.
>>> I wonder why there is an mdelay(1). Using cpu_relax and
>>> time_is_after_jiffies should make sdhci_reset faster.
>>>
>> In case somebody cares, here a patch that reduce on our hardware
>> sdhci_reset from 1 ms to 30 us.
>>
>
> I seem to recall having problems with jiffies not updating with those
> locks held (or perhaps it was when inside the isr).
>
> What arch have you been testing this on?
It have been tested on arm.
Matthieu
next prev parent reply other threads:[~2009-09-07 9:56 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-01 13:15 sdhci can turn off irq up to 200 ms Matthieu CASTET
2009-07-09 10:28 ` Matthieu CASTET
2009-09-06 13:25 ` Pierre Ossman
2009-09-07 9:56 ` Matthieu CASTET [this message]
2009-09-07 16:59 ` Pierre Ossman
2009-09-08 8:56 ` Matthieu CASTET
[not found] <cT8cF-7kN-7@gated-at.bofh.it>
[not found] ` <cVZ3a-71r-5@gated-at.bofh.it>
2009-09-07 19:47 ` Daniel J Blueman
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=4AA4D8BA.602@parrot.com \
--to=matthieu.castet@parrot.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pierre@ossman.eu \
--cc=sdhci-devel@lists.ossman.eu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.