Messages in this thread | | | Date | Fri, 24 Apr 2015 15:46:56 +0200 | Subject | Re: simple framebuffer slower by factor of 20, on socfpga (arm) platform | From | Geert Uytterhoeven <> |
| |
On Fri, Apr 24, 2015 at 3:40 PM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote: > On 24/04/15 16:29, Pavel Machek wrote: >> On Fri 2015-04-10 12:35:52, Archit Taneja wrote: >>>> That said, if the fb is in RAM, and is only written by the CPU, I think >>>> a normal memcpy() for fb_memcpy_fromfb() should be fine... >>> >>> I didn't test for performance regressions when I posted this patch. >>> >>> A look at _memcpy_fromio in arch/arm/kernel/io.c shows that readb() is used >>> all the time, even when the source and destination addresses are aligned for >>> larger reads to be possible. Other archs seem to use readl() or readq() when >>> they can. Maybe that makes memcpy_fromio slower than the implementation of >>> memcpy on arm? >> >> Ok, can you prepare a patch for me to try? Or should we just revert >> the original commit? > > The old way worked fine, afaik, so maybe we can revert. But still, isn't > it more correct to use memcpy_fromio? It's (possibly) io memory we have > here.
Yes it is.
So please optimize ARM's _memcpy_fromio(), _memcpy_toio(), and _memset_io(). That will benefit other drivers on ARM, too.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |