summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-11 10:21:57 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-12 13:24:40 +0200
commit4d76300ae524f798bf665f6c28dca420fd23a59c (patch)
treeae47fefc2924fac943537ed2854279ead765ef63 /cpukit/rtems/include
parentrtems: Use thread state lock for signals (diff)
downloadrtems-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.h34
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