[RTEMS Project] #4033: Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy() (was: Add rtems_interrupt_server_build() and rtems_interrupt_server_destroy())

RTEMS trac trac at rtems.org
Sat Aug 1 09:55:44 UTC 2020


#4033: Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy()
-----------------------------+------------------------------
 Reporter:  Sebastian Huber  |       Owner:  Sebastian Huber
     Type:  enhancement      |      Status:  assigned
 Priority:  normal           |   Milestone:  5.1
Component:  lib              |     Version:  5
 Severity:  normal           |  Resolution:
 Keywords:                   |  Blocked By:
 Blocking:                   |
-----------------------------+------------------------------
Description changed by Sebastian Huber:

Old description:

> Currently, the only way to create interrupt servers is
> rtems_interrupt_server_initialize(). This function creates the default
> interrupt server and in SMP configurations additional interrupt servers
> for the additional processors. The interrupt server is heavily used by
> libbsd. This includes the epoch based reclamation which performs time
> consuming resource and memory deallocation work. This does not work well
> with time critical services, for example an UART over SPI or I2C. One
> approach to address this problem is to allow the application to create
> custom interrupt servers with the right priority and task properties. The
> interrupt server API accounted for this, however, it was not yet
> implemented.
>
> Add rtems_interrupt_server_build() and rtems_interrupt_server_destroy()
> for this purpose.

New description:

 Currently, the only way to create interrupt servers is
 rtems_interrupt_server_initialize(). This function creates the default
 interrupt server and in SMP configurations additional interrupt servers
 for the additional processors. The interrupt server is heavily used by
 libbsd. This includes the epoch based reclamation which performs time
 consuming resource and memory deallocation work. This does not work well
 with time critical services, for example an UART over SPI or I2C. One
 approach to address this problem is to allow the application to create
 custom interrupt servers with the right priority and task properties. The
 interrupt server API accounted for this, however, it was not yet
 implemented.

 Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy()
 for this purpose.

--

--
Ticket URL: <http://devel.rtems.org/ticket/4033#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list