On 9/2/21 12:37 am, Joel Sherrill wrote: > On Mon, Feb 8, 2021 at 12:44 AM Chris Johns <chr...@rtems.org > <mailto:chr...@rtems.org>> wrote: > > On 8/2/21 5:38 pm, Sebastian Huber wrote: > > > > On 08/02/2021 07:30, chr...@rtems.org <mailto:chr...@rtems.org> wrote: > >> diff --git a/cpukit/libcsupport/src/rtems_heap_greedy.c > >> b/cpukit/libcsupport/src/rtems_heap_greedy.c > >> index 4dda39873f..2361f17d2e 100644 > >> --- a/cpukit/libcsupport/src/rtems_heap_greedy.c > >> +++ b/cpukit/libcsupport/src/rtems_heap_greedy.c > >> @@ -30,8 +30,20 @@ void *rtems_heap_greedy_allocate( > >> size_t block_count > >> ) > >> { > >> + Heap_Control *heap = RTEMS_Malloc_Heap; > >> + size_t size = 128 * 1024 * 1024; > >> void *opaque; > >> + while (size > 0) { > >> + opaque = (*rtems_malloc_extend_handler)( heap, size ); > >> + if (opaque == NULL) { > >> + size >>= 1; > >> + } else { > >> + if ( rtems_malloc_dirty_helper != NULL ) > >> + (*rtems_malloc_dirty_helper)( opaque, size ); > >> + } > >> + } > > You need a couple of more ' ' after and before the braces. Each if > should > have a > > { }. Apart from the formatting it looks good. > > Thanks, I will fix the formatting and push. > > And there is no performance issue on hardware so that must be a psim > thing. > > > What performance issue do you think there could have been?
I do not know. I have never looked at how psim is implemented. I believe the slow down inside the simulator. > This must just be a side-effect of the PowerPC BSPs which have more than 32MB > RAM and want to support dynamically loading code. They must ensure that no > branches or calls exceed 32MB from the current location. Thus it has to be > loaded > early in program life before the heap is extended. This is inside the simulator? > Are there other supported architectures where code must fit into a subset of > the > address space where it could negatively impact dynamic loading? ARM. > How does the DL code deal with PPC code that is built without the -mlongcall > option? libdl adds a trampoline ... https://git.rtems.org/rtems/tree/cpukit/libdl/rtl-mdreloc-powerpc.c#n184 Chris > EPICS discusses this here: > > https://epics.anl.gov/base/ppc.php <https://epics.anl.gov/base/ppc.php> > > --joel > > > Chris > _______________________________________________ > devel mailing list > devel@rtems.org <mailto:devel@rtems.org> > http://lists.rtems.org/mailman/listinfo/devel > <http://lists.rtems.org/mailman/listinfo/devel> > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel