From: J Freyensee <james_p_freyensee@linux.intel.com>
To: Praveen G K <praveen.gk@gmail.com>
Cc: Linus Walleij <linus.walleij@linaro.org>, linux-mmc@vger.kernel.org
Subject: Re: slow eMMC write speed
Date: Wed, 28 Sep 2011 14:01:55 -0700 [thread overview]
Message-ID: <4E838B43.5090605@linux.intel.com> (raw)
In-Reply-To: <CAHzg1A8Cgz8DNje_We9MKJ90E4=9BDw9XzvEQU5h2et8HPHBjw@mail.gmail.com>
On 09/28/2011 01:34 PM, Praveen G K wrote:
> On Wed, Sep 28, 2011 at 12:59 PM, J Freyensee
> <james_p_freyensee@linux.intel.com> wrote:
>> On 09/28/2011 12:06 PM, Praveen G K wrote:
>>>
>>> On Tue, Sep 27, 2011 at 10:42 PM, Linus Walleij
>>> <linus.walleij@linaro.org> wrote:
>>>>
>>>> On Fri, Sep 23, 2011 at 7:05 AM, Praveen G K<praveen.gk@gmail.com>
>>>> wrote:
>>>>
>>>>> I am working on the block driver module of the eMMC driver (SDIO 3.0
>>>>> controller). I am seeing very low write speed for eMMC transfers. On
>>>>> further debugging, I observed that every 63rd and 64th transfer takes
>>>>> a long time.
>>>>
>>>> Are you not just seeing the card-internal garbage collection?
>>>> http://lwn.net/Articles/428584/
>>>
>>> Does this mean, theoretically, I should be able to achieve larger
>>> speeds if I am not using linux?
>>
>> In theory in a fairy-tale world, maybe, in reality, not really. In R/W
>> performance measurements we have done, eMMC performance in products users
>> would buy falls well, well short of any theoretical numbers. We believe in
>> theory, the eMMC interface should be able to support up to 100MB/s, but in
>> reality on real customer platforms write bandwidths (for example) barely
>> approach 20MB/s, regardless if it's a Microsoft Windows environment or
>> Android (Linux OS environment we care about). So maybe it is software
>> implementation issues of multiple OSs preventing higher eMMC performance
>> numbers (hence the reason why I sometimes ask basic coding questions of the
>> MMC subsystem- the code isn't the easiest to follow); however, one looks no
>> further than what Apple has done with the iPad2 to see that eMMC probably
>> just is not a good solution to use in the first place. We have measured
>> Apple's iPad2 write performance on *WHAT A USER WOULD SEE* being double what
>> we see with products using eMMC solutions. The big difference? Apple
>> doesn't use eMMC at all for the iPad2.
>
> Thanks for all the clarification. The problem is I am seeing write
> speeds of about 5MBps on a Sandisk eMMC product and I can clearly see
> the time lost when measured between sending a command and receiving a
> data irq. I am not sure what kind of an issue this is. 5MBps feels
> really slow but can the internal housekeeping of the card take so much
> time?
Have you tried to trace through all structs used for an MMC operation??!
Good gravy, there are request, mmc_queue, mmc_card, mmc_host,
mmc_blk_request, mmc_request, multiple mmc_command and multiple
scatterlists that these other structs use...I've been playing around on
trying to cache some things to try and improve performance and it blows
me away how many variables and pointers I have to keep track of for one
operation going to an LBA on an MMC. I keep wondering if more of the
'struct request' could have been used, and 1/3 of these structures could
be eliminated. And another thing I wonder too is how much of this
infrastructure is really needed, that when I do ask "what is this for?"
question on the list and no one responds, if anyone else understands if
it's needed either.
I mean, for the usual transfers it takes about 3ms to transfer
> 64kB of data, but for the 63rd and 64th transfers, it takes 250 ms.
> The thing is this is not on a file system. I am measuring the speed
> using basic "dd" command to write directly to the block device.
>
>> So, is this a software issue? or if
>>>
>>> there is a way to increase the size of bounce buffers to 4MB?
>>>
>>
>>
>>
>>>> Yours,
>>>> Linus Walleij
>>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
>> --
>> J (James/Jay) Freyensee
>> Storage Technology Group
>> Intel Corporation
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
J (James/Jay) Freyensee
Storage Technology Group
Intel Corporation
next prev parent reply other threads:[~2011-09-28 20:54 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-23 5:05 slow eMMC write speed Praveen G K
2011-09-28 5:42 ` Linus Walleij
2011-09-28 19:06 ` Praveen G K
2011-09-28 19:59 ` J Freyensee
2011-09-28 20:34 ` Praveen G K
2011-09-28 21:01 ` J Freyensee [this message]
2011-09-28 21:03 ` Praveen G K
2011-09-28 21:34 ` J Freyensee
2011-09-28 22:24 ` Praveen G K
2011-09-28 22:59 ` J Freyensee
2011-09-28 23:16 ` Praveen G K
2011-09-29 0:57 ` Philip Rakity
2011-09-29 2:24 ` Praveen G K
2011-09-29 3:30 ` Philip Rakity
2011-09-29 7:24 ` Linus Walleij
2011-09-29 8:17 ` Per Förlin
2011-09-29 20:16 ` J Freyensee
2011-09-30 8:22 ` Andrei E. Warkentin
2011-10-01 0:33 ` J Freyensee
2011-10-02 6:20 ` Andrei E. Warkentin
2011-10-03 18:01 ` J Freyensee
2011-10-03 20:19 ` Andrei Warkentin
2011-10-03 21:00 ` J Freyensee
2011-10-04 7:59 ` Andrei E. Warkentin
2011-10-19 23:27 ` Praveen G K
2011-10-20 15:01 ` Andrei E. Warkentin
2011-10-20 15:10 ` Praveen G K
2011-10-20 15:26 ` Andrei Warkentin
2011-10-20 16:07 ` Praveen G K
2011-10-21 4:45 ` Andrei E. Warkentin
2011-09-29 7:05 ` Linus Walleij
2011-09-29 7:33 ` Linus Walleij
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=4E838B43.5090605@linux.intel.com \
--to=james_p_freyensee@linux.intel.com \
--cc=linus.walleij@linaro.org \
--cc=linux-mmc@vger.kernel.org \
--cc=praveen.gk@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