summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/percpu.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-29 08:34:45 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-07-29 09:03:50 +0200
commit98a57511b687ce1365140481d0c8cf597b6a5d43 (patch)
tree6eda41949a0687730354da414aa01d3c070c1eaf /cpukit/include/rtems/score/percpu.h
parentscore: Split SMP multicast action module (diff)
downloadrtems-98a57511b687ce1365140481d0c8cf597b6a5d43.tar.bz2
score: Add _Per_CPU_Submit_job()
Diffstat (limited to 'cpukit/include/rtems/score/percpu.h')
-rw-r--r--cpukit/include/rtems/score/percpu.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/cpukit/include/rtems/score/percpu.h b/cpukit/include/rtems/score/percpu.h
index f72339620d..6081653a86 100644
--- a/cpukit/include/rtems/score/percpu.h
+++ b/cpukit/include/rtems/score/percpu.h
@@ -841,11 +841,10 @@ bool _Per_CPU_State_wait_for_non_initial_state(
void _Per_CPU_Perform_jobs( Per_CPU_Control *cpu );
/**
- * @brief Adds the job to the tail of the processing list of the specified
- * processor.
+ * @brief Adds the job to the tail of the processing list of the processor.
*
- * This function does not send the SMP_MESSAGE_PERFORM_JOBS message the
- * specified processor.
+ * This function does not send the ::SMP_MESSAGE_PERFORM_JOBS message to the
+ * processor, see also _Per_CPU_Submit_job().
*
* @param[in, out] cpu The processor to add the job.
* @param[in, out] job The job. The Per_CPU_Job::context member must be
@@ -854,6 +853,19 @@ void _Per_CPU_Perform_jobs( Per_CPU_Control *cpu );
void _Per_CPU_Add_job( Per_CPU_Control *cpu, Per_CPU_Job *job );
/**
+ * @brief Adds the job to the tail of the processing list of the processor and
+ * notifies the processor to process the job.
+ *
+ * This function sends the ::SMP_MESSAGE_PERFORM_JOBS message to the processor
+ * if it is in the ::PER_CPU_STATE_UP state, see also _Per_CPU_Add_job().
+ *
+ * @param[in, out] cpu The processor to add the job.
+ * @param[in, out] job The job. The Per_CPU_Job::context member must be
+ * initialized by the caller.
+ */
+void _Per_CPU_Submit_job( Per_CPU_Control *cpu, Per_CPU_Job *job );
+
+/**
* @brief Waits for the job carried out by the specified processor.
*
* This function may result in an SMP_FATAL_WRONG_CPU_STATE_TO_PERFORM_JOBS