grub-devel
[Top][All Lists]
Advanced

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

Re: Image scaling performance


From: Andrei Borzenkov
Subject: Re: Image scaling performance
Date: Tue, 24 Feb 2015 21:22:20 +0300

В Tue, 24 Feb 2015 19:01:03 +0100
Michael Zimmermann <address@hidden> пишет:

> what do u mean with "which is enabled on boot time."?
> what do linux kernel and userspace applications use?
> 

Software implementation provided either by libgcc or explicitly defined
like grub does it (e.g. see arch/arm/lib/lib1funcs.S in linux source
tree). gcc generates call to them in both cases.

> 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
> >
> 
> _______________________________________________
> 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]