fix: 调度中将pm相关的部分用LOSCFG_KERNEL_PM包含
Close #I4L00F Signed-off-by: zhushengle <zhushengle@huawei.com> Change-Id: I0dbe0954dcb881c0079677c215aceb099d6d1b94
This commit is contained in:
parent
cd31fc9a8b
commit
d7c0059dc4
|
@ -34,7 +34,9 @@
|
||||||
#include "los_tick.h"
|
#include "los_tick.h"
|
||||||
#include "los_debug.h"
|
#include "los_debug.h"
|
||||||
#include "los_hook.h"
|
#include "los_hook.h"
|
||||||
|
#if (LOSCFG_KERNEL_PM == 1)
|
||||||
#include "los_pm.h"
|
#include "los_pm.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#if __cplusplus
|
#if __cplusplus
|
||||||
|
@ -221,13 +223,16 @@ STATIC INLINE VOID OsSchedSetNextExpireTime(UINT64 startTime, UINT32 responseID,
|
||||||
VOID OsSchedUpdateExpireTime(UINT64 startTime, BOOL timeUpdate)
|
VOID OsSchedUpdateExpireTime(UINT64 startTime, BOOL timeUpdate)
|
||||||
{
|
{
|
||||||
UINT64 endTime;
|
UINT64 endTime;
|
||||||
|
BOOL isPmMode = FALSE;
|
||||||
LosTaskCB *runTask = g_losTask.runTask;
|
LosTaskCB *runTask = g_losTask.runTask;
|
||||||
|
|
||||||
if (!g_taskScheduled || g_tickIntLock) {
|
if (!g_taskScheduled || g_tickIntLock) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL isPmMode = OsIsPmMode();
|
#if (LOSCFG_KERNEL_PM == 1)
|
||||||
|
isPmMode = OsIsPmMode();
|
||||||
|
#endif
|
||||||
if ((runTask->taskID != g_idleTaskID) && !isPmMode) {
|
if ((runTask->taskID != g_idleTaskID) && !isPmMode) {
|
||||||
INT32 timeSlice = (runTask->timeSlice <= OS_TIME_SLICE_MIN) ? OS_SCHED_TIME_SLICES : runTask->timeSlice;
|
INT32 timeSlice = (runTask->timeSlice <= OS_TIME_SLICE_MIN) ? OS_SCHED_TIME_SLICES : runTask->timeSlice;
|
||||||
endTime = startTime + timeSlice;
|
endTime = startTime + timeSlice;
|
||||||
|
@ -443,11 +448,15 @@ STATIC VOID OsSchedUnfreezeTask(LosTaskCB *taskCB)
|
||||||
|
|
||||||
VOID OsSchedSuspend(LosTaskCB *taskCB)
|
VOID OsSchedSuspend(LosTaskCB *taskCB)
|
||||||
{
|
{
|
||||||
|
BOOL isPmMode = FALSE;
|
||||||
if (taskCB->taskStatus & OS_TASK_STATUS_READY) {
|
if (taskCB->taskStatus & OS_TASK_STATUS_READY) {
|
||||||
OsSchedTaskDeQueue(taskCB);
|
OsSchedTaskDeQueue(taskCB);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((taskCB->taskStatus & (OS_TASK_STATUS_PEND_TIME | OS_TASK_STATUS_DELAY)) && OsIsPmMode()) {
|
#if (LOSCFG_KERNEL_PM == 1)
|
||||||
|
isPmMode = OsIsPmMode();
|
||||||
|
#endif
|
||||||
|
if ((taskCB->taskStatus & (OS_TASK_STATUS_PEND_TIME | OS_TASK_STATUS_DELAY)) && isPmMode) {
|
||||||
OsSchedFreezeTask(taskCB);
|
OsSchedFreezeTask(taskCB);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue