[PATCH] mmc: mxs-mmc: add support for pre_req and post_req
per.forlin at linaro.org
Thu Apr 21 09:47:19 UTC 2011
On 21 April 2011 11:11, Shawn Guo <shawn.guo at freescale.com> wrote:
> On Thu, Apr 21, 2011 at 10:46:18AM +0200, Per Forlin wrote:
>> On 21 April 2011 08:29, Shawn Guo <shawn.guo at freescale.com> wrote:
>> > On Wed, Apr 20, 2011 at 05:30:22PM +0200, Per Forlin wrote:
>> > [...]
>> >> Remove dma_map and dma_unmap from your host driver and run the tests
>> >> (obviously nonblocking and blocking will have the same results). If
>> >> there is still no performance gain the cache penalty is very small on
>> >> your platform and therefore nonblocking doesn't improve things much.
>> >> Please let me know the result.
>> > Sorry, I could not understand. What's the point to run the test when
>> > the driver is even broken. The removal of dma_map_sg and
>> > dma_unmap_sg makes mxs-mmc host driver broken.
>> The point is only to get a measurement of the cost of handling
>> dma_map_sg and dma_unmap_sg, this is the maximum time mmc nonblocking
>> can save.
>> The nonblocking mmc_test should save the total time of dma_map_sg and
>> dma_unmap_sg, if the pre_req and post_req hooks are implemented
>> Running without dma_map_sg and dma_unmap_sg will confirm if the
>> pre_req and post_req hooks are implemented correctly.
> With dma_map_sg and dma_unmap_sg removed, the mmc_test gave very low
> numbers, though blocking and non-blocking numbers are same. Is it
> an indication that pre_req and post_req hooks are not implemented
I think you could get the same numbers for the nonblocking with
dma_map and dma_unmap in place.
> If yes, can you please help to catch the mistakes?
I will take a look.
More information about the linaro-kernel