2011/10/20 Andrei E. Warkentin <andrey.warkentin@xxxxxxxxx>: > 2011/10/19 Praveen G K <praveen.gk@xxxxxxxxx>: >> 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html