-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[utest][smp]Modify the logic of utest-smp_thread_preemptions and add comments #11012
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,13 +17,37 @@ | |
| * @note Create multiple threads, low-priority threads run first, | ||
| * 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. | ||
| */ | ||
|
Comment on lines
+20
to
43
|
||
|
|
||
| #define THREAD_PRIORITY_HIGH 21 | ||
| #define THREAD_PRIORITY_LOW 30 | ||
| #define THREAD_STACK_SIZE UTEST_THR_STACK_SIZE | ||
|
|
||
| static rt_thread_t threads[2]; | ||
| static volatile rt_uint8_t finish_flag = 0; | ||
| static struct rt_spinlock lock; | ||
|
|
||
| /* High Priority Thread */ | ||
|
|
@@ -35,6 +59,7 @@ static void thread_high_entry(void *parameter) | |
| extern long list_thread(void); | ||
| list_thread(); | ||
| rt_spin_unlock(&lock); | ||
| finish_flag = 1; | ||
| } | ||
|
|
||
| /* Low Priority Thread */ | ||
|
|
@@ -46,6 +71,7 @@ static void thread_low_entry(void *parameter) | |
| extern long list_thread(void); | ||
| list_thread(); | ||
| rt_spin_unlock(&lock); | ||
| while (!finish_flag); | ||
| } | ||
|
|
||
| static void thread_preemptions_tc(void) | ||
|
|
@@ -72,6 +98,7 @@ static void thread_preemptions_tc(void) | |
| static rt_err_t utest_tc_init(void) | ||
| { | ||
| rt_spin_lock_init(&lock); | ||
| finish_flag = 0; | ||
| return RT_EOK; | ||
| } | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] 🟡 Documentation Issue: Comment Formatting / 文档问题:注释格式
English: The multi-line comments starting with "- " on lines 27-30 and 33-35 are inconsistent with the rest of the documentation block. Standard documentation style would not have the leading "- " on continuation lines, or should consistently use bullet points throughout.
中文:第27-30行和第33-35行以 "- " 开头的多行注释与文档块的其余部分不一致。标准文档风格不应在续行上有前导 "- ",或应始终使用项目符号。
Suggested Format / 建议格式:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#10895 的例子中是用的这种格式