diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-11 10:21:57 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-12 13:24:40 +0200 |
commit | 4d76300ae524f798bf665f6c28dca420fd23a59c (patch) | |
tree | ae47fefc2924fac943537ed2854279ead765ef63 /cpukit/rtems/include | |
parent | rtems: Use thread state lock for signals (diff) | |
download | rtems-4d76300ae524f798bf665f6c28dca420fd23a59c.tar.bz2 |
rtems: Avoid Giant lock for some task operations
Avoid Giant lock for rtems_task_set_priority(), rtems_task_suspend() and
rtems_task_resume().
Update #2555.
Diffstat (limited to 'cpukit/rtems/include')
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/taskmp.h | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h index 2a80f44aed..e2d70a924e 100644 --- a/cpukit/rtems/include/rtems/rtems/taskmp.h +++ b/cpukit/rtems/include/rtems/rtems/taskmp.h @@ -57,17 +57,6 @@ typedef enum { } RTEMS_tasks_MP_Remote_operations; /** - * The following data structure defines the packet used to perform - * remote task operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - RTEMS_tasks_MP_Remote_operations operation; - rtems_name name; - rtems_task_priority the_priority; -} RTEMS_tasks_MP_Packet; - -/** * @brief RTEMS Tasks MP Send Process Packet * * Multiprocessing Support for the RTEMS Task Manager @@ -82,18 +71,25 @@ void _RTEMS_tasks_MP_Send_process_packet ( ); /** - * @brief _RTEMS_tasks_MP_Send_request_packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. + * @brief Issues a remote rtems_task_set_priority() request. */ -rtems_status_code _RTEMS_tasks_MP_Send_request_packet ( - RTEMS_tasks_MP_Remote_operations operation, - Objects_Id task_id, - rtems_task_priority the_priority +rtems_status_code _RTEMS_tasks_MP_Set_priority( + rtems_id id, + rtems_task_priority new_priority, + rtems_task_priority *old_priority ); /** + * @brief Issues a remote rtems_task_suspend() request. + */ +rtems_status_code _RTEMS_tasks_MP_Suspend( rtems_id id ); + +/** + * @brief Issues a remote rtems_task_resume() request. + */ +rtems_status_code _RTEMS_tasks_MP_Resume( rtems_id id ); + +/** * @brief _RTEMS_tasks_MP_Process_packet * * This routine performs the actions specific to this package for |