what do u mean with "which is enabled on boot time."? what do linux kernel and userspace applications use?
On Tue, Feb 24, 2015 at 1:39 PM, Vladimir 'phcoder' Serbinenko <phco...@gmail.com> wrote: > > > Le Tue Feb 24 2015 at 12:48:10 PM, Michael Zimmermann > <sigmaepsilo...@gmail.com> a écrit : >> >> thx I'll try that but wouldn't it make more sense to implement a hw >> version of this function?(do I need a different compiler?) >> > AFAIK there isn't a consistent division instruction across all ARMs and > which is enabled on boot time. > You can implement hw version of division but it will crash on some machines. > Division is a slow operation on any platform and should be avoided as far as > possible. >> >> Almost all modules use this call and I guess it could really improve >> the performance. >> >> On Tue, Feb 24, 2015 at 12:27 PM, Vladimir 'phcoder' Serbinenko >> <phco...@gmail.com> wrote: >> > >> > >> > Le Tue Feb 24 2015 at 11:01:03 AM, Michael Zimmermann >> > <sigmaepsilo...@gmail.com> a écrit : >> >> >> >> the function seems to use __aeabi_uidiv. I'm not sure if this is a sw >> >> or hw implementation. >> > >> > software. Try attached patch >> >> >> >> Full code: >> >> ASM: http://pastebin.com/FnPRZt1H >> >> pseudo-C: http://pastebin.com/dH3YBk46 >> >> >> >> On Tue, Feb 24, 2015 at 10:51 AM, Vladimir 'phcoder' Serbinenko >> >> <phco...@gmail.com> wrote: >> >> > Did you try to look at ASM of the function in question? Do you >> >> > compile >> >> > to >> >> > thumb? Multiplication sometimes generates function calls in thumb. >> >> > Try >> >> > marking the scaling function as arm explicitly >> >> > >> >> > Le 2015-02-24 10:39, "Michael Zimmermann" <sigmaepsilo...@gmail.com> >> >> > a >> >> > écrit >> >> > : >> >> >> >> >> >> Any ideas what could slow down the image scaling algorithm? >> >> >> The only reasons I could think of would either be slow memory or >> >> >> some >> >> >> compiler problems. Since my Ram is mapped cachable I don't think the >> >> >> RAM is too slow. >> >> >> >> >> >> I even forces using the Nearest neighbor algorithm already. It >> >> >> speeds >> >> >> things up a lot but it's not as fast as you'd expect. >> >> >> >> >> >> Some technical info: >> >> >> ARMv7 >> >> >> Linaro GCC 4.9 >> >> >> MMU setup is done by the previous bootloader(I disabled GRUB's >> >> >> (uboot) >> >> >> MMU setup - it prooved to be faster) >> >> >> >> >> >> _______________________________________________ >> >> >> Grub-devel mailing list >> >> >> Grub-devel@gnu.org >> >> >> https://lists.gnu.org/mailman/listinfo/grub-devel >> >> > >> >> > >> >> > _______________________________________________ >> >> > Grub-devel mailing list >> >> > Grub-devel@gnu.org >> >> > https://lists.gnu.org/mailman/listinfo/grub-devel >> >> > >> >> >> >> _______________________________________________ >> >> Grub-devel mailing list >> >> Grub-devel@gnu.org >> >> https://lists.gnu.org/mailman/listinfo/grub-devel >> > >> > >> > _______________________________________________ >> > Grub-devel mailing list >> > Grub-devel@gnu.org >> > https://lists.gnu.org/mailman/listinfo/grub-devel >> > >> >> _______________________________________________ >> Grub-devel mailing list >> Grub-devel@gnu.org >> https://lists.gnu.org/mailman/listinfo/grub-devel > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel > _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel