libgomp support for RTEMS

Sebastian Huber sebastian.huber@embedded-brains.de
Fri Jan 30 12:03:00 GMT 2015


On 30/01/15 12:50, Jakub Jelinek wrote:
> On Fri, Jan 30, 2015 at 12:14:26PM +0100, Sebastian Huber wrote:
>> >Hello,
>> >
>> >I would like to add support for libgomp for the RTEMS operating system. I
>> >likely cannot use the standard Pthread API for this in some places since I
>> >have to account for RTEMS specifics related to partitioned/clustered
>> >scheduling and the priority based scheduler. If I implement for example
>> >functions like this
>> >
>> >void gomp_init_thread_affinity (pthread_attr_t *attr, unsigned int place)
>> >
>> >outside of the GCC provided libgomp (e.g. in the RTEMS sources) can I choose
>> >an arbitrary license for this or do I have to use the GPLv3 with the GCC
>> >Runtime Library Exception for it?
>> >
>> >Is it possible to add a gomp_free() to complement the gomp_malloc() etc.?
>> >This would enable the usage of a dedicated heap for OpenMP in RTEMS.
> Why would you want to implement it outside of libgomp?
> libgomp has a config/ tree, so just add config/rtems/ in there and implement
> it in there.

RTEMS uses the same method for the thread model. It is easier to 
maintain since I don't have to build and install a new compiler just to 
change the libgomp support. The RTEMS API header file <rtems.h> is not 
available during GCC build. I would like to make some parts application 
configurable via function pointers (e.g. the heap functions). On RTEMS 
we have a single address space for the operating system, support 
libraries and the application. In the application we have parts of 
different criticality and dynamic behaviour, so the management of 
dynamic memory is highly application dependent. Some systems must run 
months without a re-boot.

I would like to add a config/rtems and implement most of the stuff 
inside the RTEMS source tree or let even the application provide the 
implementation.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the Gcc mailing list