grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Image scaling performance


From: Vladimir 'phcoder' Serbinenko
Subject: Re: Image scaling performance
Date: Tue, 24 Feb 2015 12:39:31 +0000



Le Tue Feb 24 2015 at 12:48:10 PM, Michael Zimmermann <address@hidden> 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
<address@hidden> wrote:
>
>
> Le Tue Feb 24 2015 at 11:01:03 AM, Michael Zimmermann
> <address@hidden> 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
>> <address@hidden> 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" <address@hidden> 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
>> >> address@hidden
>> >> https://lists.gnu.org/mailman/listinfo/grub-devel
>> >
>> >
>> > _______________________________________________
>> > Grub-devel mailing list
>> > address@hidden
>> > https://lists.gnu.org/mailman/listinfo/grub-devel
>> >
>>
>> _______________________________________________
>> Grub-devel mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>

_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel

reply via email to

[Prev in Thread] Current Thread [Next in Thread]