Opened on 02/19/18 at 10:06:17
Last modified on 01/14/20 at 21:14:42
#3308 assigned enhancement
SPARC memcpy() lowering performance
Reported by: | Alok | Owned by: | Needs Funding |
---|---|---|---|
Priority: | normal | Milestone: | Indefinite |
Component: | arch/sparc | Version: | |
Severity: | normal | Keywords: | performance, newlib |
Cc: | Blocked By: | ||
Blocking: |
Description
data copying from driver space to user space using memcpy() routine on the device is affecting the overall performance. Core is SPARC. Not sure if it is using single byte copy or any other overhead associated with it...! Can you please provide me some pointers/inputs on this?
Thanks.
Change History (9)
comment:1 Changed on 02/19/18 at 10:32:27 by Alok
Version: | → 4.11 |
---|
comment:2 Changed on 02/19/18 at 13:36:45 by Joel Sherrill
comment:3 Changed on 03/16/18 at 18:32:42 by Joel Sherrill
Component: | admin → arch/sparc |
---|---|
Keywords: | SoC performance newlib added |
comment:4 Changed on 03/16/18 at 18:33:09 by Joel Sherrill
Keywords: | POSIX-Compliance added |
---|
comment:5 Changed on 03/16/18 at 18:36:36 by Joel Sherrill
Summary: | memcpy() lowering performance → SPARC memcpy() lowering performance |
---|
I asked the newlib maintainers and the code from OpenSolaris? (aka Illumos aka ???) has an acceptable license. The code for their libc is here:
The CDDL license text would have to be added to the newlib's COPYING.NEWLIB file as part of merging any SPARC optimized code into newlib/libc/machine/sparc.
comment:6 Changed on 03/17/18 at 10:01:47 by Sebastian Huber
I am not convinced that the referenced OpenSolaris? version is faster than the generic Newlib memcpy(). In addition, we have to consider that the SPARC/LEON processors do not support misaligned memory accesses.
Firstly, we should consider to add a memcpy() benchmark and test to
https://git.rtems.org/rtems/tree/testsuites/benchmarks
and use it to justify a new implementation.
comment:7 Changed on 03/17/18 at 10:02:26 by Sebastian Huber
Milestone: | → 5.1 |
---|---|
Priority: | high → normal |
Type: | project → enhancement |
Version: | 4.11 |
comment:8 Changed on 03/21/18 at 06:52:21 by Sebastian Huber
Milestone: | 5.1 → Indefinite |
---|
comment:9 Changed on 01/14/20 at 21:14:42 by Gedare Bloom
Keywords: | SoC POSIX-Compliance removed |
---|---|
Owner: | set to Needs Funding |
Status: | new → assigned |
RTEMS uses Newlib for a C Library. This method is provided by Newlib. The SPARC does not have are architecture specific implementation. If you can find one that is appropriately licensed, it can be added.