grub-devel
[Top][All Lists]
Advanced

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

Re: Image scaling performance


From: Michael Zimmermann
Subject: Re: Image scaling performance
Date: Tue, 24 Feb 2015 19:01:03 +0100

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
<address@hidden> wrote:
>
>
> 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
>
>
> _______________________________________________
> 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]