diff --git a/kernel/include/los_sortlink.h b/kernel/include/los_sortlink.h index 517d91c8..551f5ca9 100644 --- a/kernel/include/los_sortlink.h +++ b/kernel/include/los_sortlink.h @@ -70,9 +70,9 @@ STATIC INLINE UINT64 OsSortLinkGetRemainTime(UINT64 currTime, const SortLinkList SortLinkAttribute *OsGetSortLinkAttribute(SortLinkType type); UINT64 OsGetNextExpireTime(UINT64 startTime); UINT32 OsSortLinkInit(SortLinkAttribute *sortLinkHeader); -VOID OsDeleteNodeSortLink(SortLinkAttribute *sortLinkHeader, SortLinkList *sortList); +VOID OsDeleteNodeSortLink(SortLinkList *sortList); VOID OsAdd2SortLink(SortLinkList *node, UINT64 startTime, UINT32 waitTicks, SortLinkType type); -VOID OsDeleteSortLink(SortLinkList *node, SortLinkType type); +VOID OsDeleteSortLink(SortLinkList *node); UINT32 OsSortLinkGetTargetExpireTime(UINT64 currTime, const SortLinkList *targetSortList); UINT32 OsSortLinkGetNextExpireTime(const SortLinkAttribute *sortLinkHeader); diff --git a/kernel/src/los_sched.c b/kernel/src/los_sched.c index 8f85c06d..4fd1a720 100644 --- a/kernel/src/los_sched.c +++ b/kernel/src/los_sched.c @@ -173,6 +173,8 @@ STATIC INLINE VOID OsSchedTickReload(UINT64 nextResponseTime, UINT32 responseID, if (timeUpdate) { g_schedTimerBase = OsGetCurrSysTimeCycle(); } +#else + (VOID)timeUpdate; #endif if (isTimeSlice) { @@ -273,7 +275,7 @@ STATIC INLINE VOID OsSchedPriQueueDelete(LOS_DL_LIST *priqueueItem, UINT32 prior } } -STATIC INLINE VOID OsSchedWakePendTimeTask(UINT64 currTime, LosTaskCB *taskCB, BOOL *needSchedule) +STATIC INLINE VOID OsSchedWakePendTimeTask(LosTaskCB *taskCB, BOOL *needSchedule) { UINT16 tempStatus = taskCB->taskStatus; if (tempStatus & (OS_TASK_STATUS_PEND | OS_TASK_STATUS_DELAY)) { @@ -313,10 +315,8 @@ STATIC INLINE BOOL OsSchedScanTimerList(VOID) UINT64 currTime = OsGetCurrSchedTimeCycle(); while (sortList->responseTime <= currTime) { LosTaskCB *taskCB = LOS_DL_LIST_ENTRY(sortList, LosTaskCB, sortList); - OsDeleteNodeSortLink(g_taskSortLinkList, &taskCB->sortList); - - OsSchedWakePendTimeTask(currTime, taskCB, &needSchedule); - + OsDeleteNodeSortLink(&taskCB->sortList); + OsSchedWakePendTimeTask(taskCB, &needSchedule); if (LOS_ListEmpty(listObject)) { break; } @@ -368,7 +368,7 @@ VOID OsSchedTaskExit(LosTaskCB *taskCB) } if (taskCB->taskStatus & (OS_TASK_STATUS_DELAY | OS_TASK_STATUS_PEND_TIME)) { - OsDeleteSortLink(&taskCB->sortList, OS_SORT_LINK_TASK); + OsDeleteSortLink(&taskCB->sortList); taskCB->taskStatus &= ~(OS_TASK_STATUS_DELAY | OS_TASK_STATUS_PEND_TIME); } } @@ -405,7 +405,7 @@ VOID OsSchedTaskWake(LosTaskCB *resumedTask) resumedTask->taskStatus &= ~OS_TASK_STATUS_PEND; if (resumedTask->taskStatus & OS_TASK_STATUS_PEND_TIME) { - OsDeleteSortLink(&resumedTask->sortList, OS_SORT_LINK_TASK); + OsDeleteSortLink(&resumedTask->sortList); resumedTask->taskStatus &= ~OS_TASK_STATUS_PEND_TIME; } @@ -418,7 +418,7 @@ VOID OsSchedTaskWake(LosTaskCB *resumedTask) STATIC VOID OsSchedFreezeTask(LosTaskCB *taskCB) { UINT64 responseTime = GET_SORTLIST_VALUE(&taskCB->sortList); - OsDeleteSortLink(&taskCB->sortList, OS_SORT_LINK_TASK); + OsDeleteSortLink(&taskCB->sortList); SET_SORTLIST_VALUE(&taskCB->sortList, responseTime); taskCB->taskStatus |= OS_TASK_FLAG_FREEZE; return; diff --git a/kernel/src/los_sortlink.c b/kernel/src/los_sortlink.c index 8d8073f7..da47d839 100644 --- a/kernel/src/los_sortlink.c +++ b/kernel/src/los_sortlink.c @@ -78,7 +78,7 @@ STATIC INLINE VOID OsAddNode2SortLink(SortLinkAttribute *sortLinkHeader, SortLin } while (1); } -VOID OsDeleteNodeSortLink(SortLinkAttribute *sortLinkHeader, SortLinkList *sortList) +VOID OsDeleteNodeSortLink(SortLinkList *sortList) { LOS_ListDelete(&sortList->sortLinkNode); SET_SORTLIST_VALUE(sortList, OS_SORT_LINK_INVALID_TIME); @@ -120,23 +120,14 @@ VOID OsAdd2SortLink(SortLinkList *node, UINT64 startTime, UINT32 waitTicks, Sort LOS_IntRestore(intSave); } -VOID OsDeleteSortLink(SortLinkList *node, SortLinkType type) +VOID OsDeleteSortLink(SortLinkList *node) { UINT32 intSave; - SortLinkAttribute *sortLinkHeader = NULL; - - if (type == OS_SORT_LINK_TASK) { - sortLinkHeader = &g_taskSortLink; - } else if (type == OS_SORT_LINK_SWTMR) { - sortLinkHeader = &g_swtmrSortLink; - } else { - LOS_Panic("Sort link type error : %u\n", type); - } intSave = LOS_IntLock(); if (node->responseTime != OS_SORT_LINK_INVALID_TIME) { OsSchedResetSchedResponseTime(node->responseTime); - OsDeleteNodeSortLink(sortLinkHeader, node); + OsDeleteNodeSortLink(node); } LOS_IntRestore(intSave); } diff --git a/kernel/src/los_swtmr.c b/kernel/src/los_swtmr.c index 7a125f76..7ad996f3 100644 --- a/kernel/src/los_swtmr.c +++ b/kernel/src/los_swtmr.c @@ -270,7 +270,7 @@ STATIC VOID OsSwtmrDelete(SWTMR_CTRL_S *swtmr) LITE_OS_SEC_TEXT VOID OsSwtmrStop(SWTMR_CTRL_S *swtmr) { - OsDeleteSortLink(&swtmr->stSortList, OS_SORT_LINK_SWTMR); + OsDeleteSortLink(&swtmr->stSortList); swtmr->ucState = OS_SWTMR_STATUS_CREATED; OsSchedUpdateExpireTime(OsGetCurrSchedTimeCycle(), TRUE); @@ -310,7 +310,7 @@ STATIC BOOL OsSwtmrScan(VOID) SWTMR_CTRL_S *swtmr = LOS_DL_LIST_ENTRY(sortList, SWTMR_CTRL_S, stSortList); swtmr->startTime = GET_SORTLIST_VALUE(sortList); - OsDeleteNodeSortLink(g_swtmrSortLinkList, sortList); + OsDeleteNodeSortLink(sortList); OsHookCall(LOS_HOOK_TYPE_SWTMR_EXPIRED, swtmr); OsSwtmrTimeoutHandle(currTime, swtmr); diff --git a/kernel/src/mm/los_memory.c b/kernel/src/mm/los_memory.c index fe1a4dd7..56f364db 100644 --- a/kernel/src/mm/los_memory.c +++ b/kernel/src/mm/los_memory.c @@ -1664,6 +1664,8 @@ STATIC INLINE VOID OsMemMagicCheckPrint(struct OsMemNodeHead **tmpNode) PRINT_ERR("[%s], %d, memory check error!\n" "memory used but magic num wrong, magic num = 0x%x\n", __FUNCTION__, __LINE__, (*tmpNode)->magic); +#else + (VOID)tmpNode; #endif } @@ -1684,8 +1686,7 @@ STATIC UINT32 OsMemAddrValidCheckPrint(const VOID *pool, struct OsMemFreeNodeHea return LOS_OK; } -STATIC UINT32 OsMemIntegrityCheckSub(struct OsMemNodeHead **tmpNode, const VOID *pool, - const struct OsMemNodeHead *endNode) +STATIC UINT32 OsMemIntegrityCheckSub(struct OsMemNodeHead **tmpNode, const VOID *pool) { if (!OS_MEM_MAGIC_VALID(*tmpNode)) { OsMemMagicCheckPrint(tmpNode); @@ -1782,7 +1783,7 @@ STATIC UINT32 OsMemIntegrityCheck(const struct OsMemPoolHead *pool, struct OsMem if (OS_MEM_IS_GAP_NODE(*tmpNode)) { continue; } - if (OsMemIntegrityCheckSub(tmpNode, pool, endNode) == LOS_NOK) { + if (OsMemIntegrityCheckSub(tmpNode, pool) == LOS_NOK) { return LOS_NOK; } *preNode = *tmpNode;