Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Feb 2017 13:23:27 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-arm@FreeBSD.org
Subject:   [Bug 217069] Performance: memcpy slower in Xscale vs ARM
Message-ID:  <bug-217069-7@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D217069

            Bug ID: 217069
           Summary: Performance: memcpy slower in Xscale vs ARM
           Product: Base System
           Version: CURRENT
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: alexandre.martins@stormshield.eu

Hello,

During the development for our new platform, armada380 based, I see that the
"standard" version of memmove/memcpy is faster than the "xscale" one.

For that, I just remove the _ARM_ARCH_5E define into the file
sys/arm/arm/support.S.

There is the results:

Block size: 2048
memcpy (Kernel ARM)                  :   1028.7 MB/s
memmove (Kernel ARM)               :    616.5 MB/s
memcpy (Kernel xscale)               :    920.1 MB/s
memmove (Kernel xscale)            :    618.8 MB/s

Block size: 128
memcpy (Kernel ARM)                  :   1018.5 MB/s
memmove (Kernel ARM)               :    668.4 MB/s
memcpy (Kernel xscale)               :    825.9 MB/s
memmove (Kernel xscale)            :    668.6 MB/s

Block size: 64
memcpy (Kernel ARM)                  :    892.9 MB/s
memmove (Kernel ARM)               :    667.2 MB/s
memcpy (Kernel xscale)               :    721.2 MB/s
memmove (Kernel xscale)            :    668.2 MB/s

Block size: 32
memcpy (Kernel ARM)                  :    620.6 MB/s
memmove (Kernel ARM)               :    634.6 MB/s
memcpy (Kernel xscale)               :    504.9 MB/s
memmove (Kernel xscale)            :    634.5 MB/s

Block size: 16
memcpy (Kernel ARM)                  :    471.8 MB/s
memmove (Kernel ARM)               :    464.5 MB/s
memcpy (Kernel xscale)               :    254.5 MB/s
memmove (Kernel xscale)            :    464.7 MB/s

Please note that the userland suffer the same problem, and the standard "AR=
M"
is a little bit more efficient.

I'm available to test any point you want.

Best regards

Alexandre Martins

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217069-7>