Thread (18 messages) 18 messages, 8 authors, 2015-05-12

Re: simple framebuffer slower by factor of 20, on socfpga (arm) platform

flat view

From: Pavel Machek <hidden>
Date: 2015-05-12 08:52:59
Also in: linux-devicetree, lkml

On Wed 2015-05-06 11:45:04, Russell King - ARM Linux wrote:
On Tue, Apr 28, 2015 at 11:28:53AM -0400, Nicolas Pitre wrote:
quoted
On Tue, 28 Apr 2015, Russell King - ARM Linux wrote:
quoted
On Fri, Apr 24, 2015 at 03:46:56PM +0200, Geert Uytterhoeven wrote:
quoted
So please optimize ARM's _memcpy_fromio(), _memcpy_toio(), and _memset_io().
That will benefit other drivers on ARM, too.
That's not going to happen.

I've had a patch which does that, but people are concerned that it changes
the behaviour of the functions by changing the access size, which could
cause regressions.  It seems people are far too worried about that to even
consider trying. :(
What about making the optimized implementation available via kconfig?
I'd prefer not to.  My personal feeling is to put the patch in and just be
done with it - these functions are supposed to be used on IO areas which
don't care about access size (in other words, are memory-like rather than
being register-like.)  Here's the rather old patch:

From: Russell King <redacted>
Subject: [PATCH] ARM: optimize memset_io()/memcpy_fromio()/memcpy_toio()

If we are building for a LE platform, and we haven't overriden the
MMIO ops, then we can optimize the mem*io operations using the
standard string functions.

Signed-off-by: Russell King <redacted>
Tested-by: Pavel Machek <redacted>
Acked-by: Pavel Machek <redacted>

Works for me, framebuffer performance is back in "too fast to measure"
range.

When this is merged, should 981409b25e2a99409b26daa67293ca1cfd5ea0a0
be reverted in -stable?

Thanks,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help