|
|
@@ -18,6 +18,28 @@
|
|
|
* high-priority threads preempt low-priority threads, and
|
|
|
* print the current status of each core in the thread's entry function.
|
|
|
*
|
|
|
+ * Test Case Name: [smp_thread_preemptions]
|
|
|
+ *
|
|
|
+ * Test Objectives:
|
|
|
+ * - Test the thread preemption logic under the SMP architecture
|
|
|
+ *
|
|
|
+ * Test Scenarios:
|
|
|
+ * - A high-priority thread thigh and a low-priority thread tlow are created. Since tlow is created
|
|
|
+ * - prior to thigh, it prints the thread list information first and then waits for the finish_flag
|
|
|
+ * - bit. Once thigh becomes ready, it preempts tlow, prints the thread list, and then sets the
|
|
|
+ * - finish_flag bit. After that, tlow exits the busy-wait loop.
|
|
|
+ *
|
|
|
+ * Verification Metrics:
|
|
|
+ * - First, the message "Low priority thread is running" will be displayed, followed immediately by
|
|
|
+ * - a thread_list information list. Subsequently, the message "High priority thread is running" will
|
|
|
+ * - appear, and in the thread_list that follows, the tlow thread can be observed in the ready state.
|
|
|
+ *
|
|
|
+ * Dependencies:
|
|
|
+ * - Enable RT_USING_SMP, set RT_THREAD_PRIORITY_MAX = 256.
|
|
|
+ *
|
|
|
+ * Expected Results:
|
|
|
+ * - You will see the message "[ PASSED ] [ result ] testcase (core.smp_thread_preemptions)", and observe
|
|
|
+ * - the tlow thread in the ready state in the thread_list printed by the thigh thread.
|
|
|
*/
|
|
|
|
|
|
#define THREAD_PRIORITY_HIGH 21
|