[PATCH 0/6] Update of cache maintenance for ARM and Raspberry Pi specially, generic libdl correction.
Alan Cudmore
alan.cudmore at gmail.com
Fri Jul 22 00:08:32 UTC 2016
Hi Pavel,
I just updated my rtems-git repository and see these changes. It runs on the Pi 2, Pi A+, Model B, and Pi Zero for me. I definitely see the speedup in the benchmarks.
Thanks!
Alan
> On Jul 17, 2016, at 6:48 PM, pisa at cmp.felk.cvut.cz wrote:
>
> From: Pavel Pisa <pisa at cmp.felk.cvut.cz>
>
> The changes correct libdl operation on targets which do not snoop
> data change during instruction cache fill.
>
> Text section/the first 1 MB of data has been noncacheable
> after VideoCore support inclusion. Enabling cache of this
> area has revealed problem with stalled data left by loader
> in the cache. Cache manager updates overcomes these troubles.
>
> The changes lead to 40x speedup of dhrystones test on RPi2
> and 20x on RPi1.
>
> There is still some problem with VideoCore graphic support.
> VideoCore mailbox seems to work correctly for other simpler
> operation but some parameters during graphic setup lead
> to error.
>
> Pavel Pisa (6):
> arm/raspberrypi: cache manager can be used for mailbox synchronization
> now. Remove workarounds.
> bsps/arm: do not disable MMU during translation table management
> operations.
> arm/bsps: CP15 and basic cache support entire cache clean for more
> architecture variants now.
> arm/raspberrypi: use cache manager operations to flush/invalidate all
> cache levels.
> arm/raspberrypi: reorder and update MMU config table to nor force RW
> section later to RO.
> libdl/rtl-obj.c: synchronize cache after code relocation.
>
> c/src/lib/libbsp/arm/raspberrypi/misc/vc.c | 35 +----------
> .../libbsp/arm/raspberrypi/startup/bspstarthooks.c | 14 ++---
> .../arm/raspberrypi/startup/mm_config_table.c | 31 +++++++---
> .../libbsp/arm/shared/arm-cp15-set-ttb-entries.c | 50 +++++++++++++---
> .../arm/shared/armv467ar-basic-cache/cache_.h | 22 ++++++-
> c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h | 6 +-
> c/src/lib/libcpu/arm/shared/include/arm-cp15.h | 60 ++++++++++++++++++-
> cpukit/libdl/rtl-elf.c | 3 +
> cpukit/libdl/rtl-obj.c | 67 +++++++++++++++++++++-
> cpukit/libdl/rtl-obj.h | 9 +++
> cpukit/libdl/rtl-rap.c | 3 +
> 11 files changed, 235 insertions(+), 65 deletions(-)
>
> --
> 1.9.1
>
More information about the devel
mailing list