Thread (38 messages) 38 messages, 7 authors, 2011-07-03
STALE5457d

[PATCH v6 00/11] mmc: use nonblock mmc requests to minimize latency

From: Per Forlin <hidden>
Date: 2011-06-24 08:58:31
Also in: linux-mmc

On 23 June 2011 15:37, Russell King - ARM Linux [off-list ref] wrote:
On Tue, Jun 21, 2011 at 11:26:27AM +0200, Per Forlin wrote:
quoted
Here are the results.
It looks like this patch is either a no-op or slightly worse. ?As
people have been telling me that dsb is rather expensive, and this
patch results in less dsbs, I'm finding these results hard to believe.
It seems to be saying that dsb is an effective no-op on your platform.
The result of your patch depends on the number of sg-elements. With
your patch there is only on DSB per list instead of element I can
write a test to measure performance per number of sg-element in the
sg-list. Fixed transfer size but vary the number of sg-elements in the
list. This test may give a better understanding of the affect.

I have seen performance gain if using __raw_write instead of writel.
Writel test includes both the cost of DSB and the outer_sync, where
outer_sync is more expensive one I presume.
So either people are wrong about dsb being expensive, the patch is
wrong, or there's something wrong with these results/test method.

You do have an error in the ported patch, as that hasn't updated the
v7 cache cleaning code to remove the dsb() there, but that would only
affect the write tests.
I will fix that mistake and also improve the test cases to measure the
cost per number of sg-elements.

I'll come back with new numbers on Monday.

Regards,
Per
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help