From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Michael Zimmermann <sigmaepsilon92@gmail.com>
Cc: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: Image scaling performance
Date: Tue, 24 Feb 2015 21:22:20 +0300 [thread overview]
Message-ID: <20150224212220.4163a5ba@opensuse.site> (raw)
In-Reply-To: <CAN9vWDKUFSYwakyBN=Oj2nV3Zt_FGYgy0CMNBCJGx1sZw3bSJQ@mail.gmail.com>
В Tue, 24 Feb 2015 19:01:03 +0100
Michael Zimmermann <sigmaepsilon92@gmail.com> пишет:
> 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
> <phcoder@gmail.com> wrote:
> >
> >
> > Le Tue Feb 24 2015 at 12:48:10 PM, Michael Zimmermann
> > <sigmaepsilon92@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
> >> <phcoder@gmail.com> wrote:
> >> >
> >> >
> >> > Le Tue Feb 24 2015 at 11:01:03 AM, Michael Zimmermann
> >> > <sigmaepsilon92@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
> >> >> <phcoder@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" <sigmaepsilon92@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
next prev parent reply other threads:[~2015-02-24 18:22 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-24 9:39 Image scaling performance Michael Zimmermann
2015-02-24 9:51 ` Vladimir 'phcoder' Serbinenko
2015-02-24 10:00 ` Michael Zimmermann
2015-02-24 11:27 ` Vladimir 'phcoder' Serbinenko
2015-02-24 11:47 ` Michael Zimmermann
2015-02-24 12:39 ` Vladimir 'phcoder' Serbinenko
2015-02-24 18:01 ` Michael Zimmermann
2015-02-24 18:22 ` Andrei Borzenkov [this message]
2015-02-25 16:20 ` Leif Lindholm
2015-02-25 15:45 ` Leif Lindholm
2015-02-25 16:23 ` Leif Lindholm
2015-02-25 18:38 ` Michael Zimmermann
2015-02-25 18:41 ` Vladimir 'phcoder' Serbinenko
2015-02-25 18:46 ` Michael Zimmermann
2015-02-25 18:56 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-02-25 19:28 ` Michael Zimmermann
2015-02-25 20:39 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-02-25 20:48 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-02-25 20:54 ` Michael Zimmermann
2015-02-26 16:44 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-02-26 17:10 ` Michael Zimmermann
2015-02-26 17:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
2015-02-26 20:27 ` Michael Zimmermann
2015-02-26 20:35 ` Vladimir 'φ-coder/phcoder' Serbinenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150224212220.4163a5ba@opensuse.site \
--to=arvidjaar@gmail.com \
--cc=grub-devel@gnu.org \
--cc=sigmaepsilon92@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.