[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-arm-kernel
Subject:    Re: [RFC] 2.6 arch/arm/kernel/io.c optimisation
From:       "Paul Chitescu" <Paul.Chitescu () IMC-Group ! org>
Date:       2004-04-20 16:12:13
Message-ID: 003701c426f2$3e94d960$e7b9e6c1 () s40 ! icpe ! ro
[Download RAW message or body]

"" <stefan.eletzhofer@eletztrick.de> wrote:
> Hi,
> on the quest of finding out why my PXA263s internal flash has
> a lower read performance than my good ol' SA1110 + external flash,
> I found that arch/arm/kernel/io.c is rather suboptimal.
>
> The memcopy_fromio() is used by the mtd subsystem to read data from
> flash. This is done with a while(count--){readb()} style loop.
>
> Optimising that qadruples my flash read performance.
> [...]

I can see a problem if either source or dest is not word-aligned - if the
CPU takes the alignment fault the performance will be hit severely. The byte
by byte transfer does not exhibit such a problem.

It may worth to make an initial test and use the fast copy only if both
blocks are aligned.

Another problem is with big endian machines - I'm not sure but I smell
trouble with that union.

--
 Paul Chitescu
 pchitescu@null.ro   http://pchitescu.null.ro/   ICQ:22641673
 Any spammers will be painfully squeezed into /dev/null



-------------------------------------------------------------------
Subscription options: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:       http://www.arm.linux.org.uk/armlinux/mlfaq.php
Etiquette: http://www.arm.linux.org.uk/armlinux/mletiquette.php
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic