Re: slow eMMC write speed

Praveen G K
2011-10-20T15:10:03Z

2011/10/20 Andrei E. Warkentin <andrey.warkentin@gmail.com>:
> 2011/10/19 Praveen G K <praveen.gk@gmail.com>:
>> Also, can somebody please tell me the significance of blk_end_request? Thanks.
>> Why do we call this after every block read or write?
>
> Because you want to update the struct request with the amount
> written/read. If the entire
> requested I/O range has been satiffied, blk_end_request also calls
> blk_finish_request and
> completes the request.
Just for a quick understanding, I did the following

During every eMMC write, I called the multi block write command with
the same set of data, and I called the mmc_end_request after let's
say every 10 transfers (with each transfer being 128 blocks). I
noticed that I did not see those big busy wait times as frequently as
compared to calling blk_end_request after every 128 block was
transferred. Why is that happening?

> I/O is asynchronous - hence, you need to let whatever made the request
> know it's completed.
So, does that mean, the actual writes to the eMMC (or reads from the
eMMC) takes place here? If so, what happens when we send the MULTI
BLOCK WRITE command?
> A
>