From 739a868c7595b8a45606e1f91463188ce23dec71 Mon Sep 17 00:00:00 2001 From: hahahazhangyan <3316749729@qq.com> Date: Sun, 31 Dec 2023 22:56:39 +0800 Subject: [PATCH] sxhed --- .../kernel/base/sched/sched_sq/los_sched.c | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/kernel_liteos_a-OpenHarmony-v3.1.7-Release/kernel/base/sched/sched_sq/los_sched.c b/kernel_liteos_a-OpenHarmony-v3.1.7-Release/kernel/base/sched/sched_sq/los_sched.c index e4f78d91..51e31df7 100644 --- a/kernel_liteos_a-OpenHarmony-v3.1.7-Release/kernel/base/sched/sched_sq/los_sched.c +++ b/kernel_liteos_a-OpenHarmony-v3.1.7-Release/kernel/base/sched/sched_sq/los_sched.c @@ -62,23 +62,24 @@ #define OS_TASK_STATUS_BLOCKED (OS_TASK_STATUS_INIT | OS_TASK_STATUS_PENDING | \ OS_TASK_STATUS_DELAY | OS_TASK_STATUS_PEND_TIME) - +//定义一个调度队列结构体 typedef struct { - LOS_DL_LIST priQueueList[OS_PRIORITY_QUEUE_NUM]; - UINT32 readyTasks[OS_PRIORITY_QUEUE_NUM]; - UINT32 queueBitmap; + LOS_DL_LIST priQueueList[OS_PRIORITY_QUEUE_NUM];// // 定义一个优先级队列链表数组,每个元素包含OS_PRIORITY_QUEUE_NUM个链表 + UINT32 readyTasks[OS_PRIORITY_QUEUE_NUM];//定义一个任务就绪队列数组,每个元素表示对应优先级队列中的任务数量 + UINT32 queueBitmap;//// 定义一个位图,用于表示哪些优先级队列是空的 } SchedQueue; -typedef struct { - SchedQueue queueList[OS_PRIORITY_QUEUE_NUM]; - UINT32 queueBitmap; +typedef struct {// +// 定义一个调度器结构体 + SchedQueue queueList[OS_PRIORITY_QUEUE_NUM];// // 定义一个调度队列列表,包含OS_PRIORITY_QUEUE_NUM个调度队列 + UINT32 queueBitmap;// 定义一个位图,用于表示哪些调度队列是空的 } Sched; -SchedRunQue g_schedRunQue[LOSCFG_KERNEL_CORE_NUM]; -STATIC Sched g_sched; +SchedRunQue g_schedRunQue[LOSCFG_KERNEL_CORE_NUM];// 定义一个全局的调度器运行队列数组,每个元素表示一个内核核心的调度器运行队列 +STATIC Sched g_sched;//// 定义一个静态的调度器全局实例 -#ifdef LOSCFG_SCHED_TICK_DEBUG -#define OS_SCHED_DEBUG_DATA_NUM 1000 +#ifdef LOSCFG_SCHED_TICK_DEBUG//如果定义了LOSCFG_SCHED_TICK_DEBUG,则进入此代码块 +#define OS_SCHED_DEBUG_DATA_NUM 1000//定义一个常量,表示调度器调试数据的大小 typedef struct { UINT32 tickResporeTime[OS_SCHED_DEBUG_DATA_NUM]; UINT32 index;