/foundation/resourceschedule/ffrt/src/tm/ |
H A D | task_factory.h | 28 static CPUEUTask *Alloc() in Alloc() 33 static void Free(CPUEUTask *task) in Free() 55 static void RegistCb(TaskAllocCB<CPUEUTask>::Alloc &&alloc, TaskAllocCB<CPUEUTask>::Free &&free, in RegistCb() 56 TaskAllocCB<CPUEUTask>::GetUnfreedMem &&getUnfreedMem = nullptr, in RegistCb() 57 TaskAllocCB<CPUEUTask>::LockMem &&lockMem = nullptr, in RegistCb() 58 TaskAllocCB<CPUEUTask>::UnlockMem &&unlockMem = nullptr) in RegistCb() 68 TaskAllocCB<CPUEUTask>::Free free_; 69 TaskAllocCB<CPUEUTask>::Alloc alloc_; 70 TaskAllocCB<CPUEUTask> [all...] |
H A D | cpu_task.h | 43 class CPUEUTask : public CoTask { class 45 CPUEUTask(const task_attr_private *attr, CPUEUTask *parent, const uint64_t &id, const QoS &qos); 50 CPUEUTask* parent = nullptr; 53 std::vector<CPUEUTask*> in_handles; 98 inline bool ExecutedOnWorker(CPUEUTask* task) in ExecutedOnWorker() 103 inline bool LegacyMode(CPUEUTask* task) in LegacyMode() 108 inline bool BlockThread(CPUEUTask* task) in BlockThread() 113 inline bool ThreadWaitMode(CPUEUTask* task) in ThreadWaitMode() 130 inline bool ThreadNotifyMode(CPUEUTask* tas [all...] |
H A D | cpu_task.cpp | 29 void CPUEUTask::SetQos(const QoS& newQos) in SetQos() 43 void CPUEUTask::FreeMem() in FreeMem() 53 void CPUEUTask::Execute() in Execute() 73 CPUEUTask::CPUEUTask(const task_attr_private *attr, CPUEUTask *parent, const uint64_t &id, in CPUEUTask() function in ffrt::CPUEUTask
|
H A D | scpu_task.h | 22 class SCPUEUTask : public CPUEUTask { 24 SCPUEUTask(const task_attr_private *attr, CPUEUTask *parent, const uint64_t &id, const QoS &qos = QoS()); 85 CPUEUTask* Root() in Root()
|
/foundation/resourceschedule/ffrt/src/sched/ |
H A D | sched_deadline.cpp | 33 void Begin(CPUEUTask* task) in Begin() 39 void End(CPUEUTask* task) in End() 47 uint64_t GetLoad(CPUEUTask* task) in GetLoad() 53 void Begin(CPUEUTask* task) 57 void End(CPUEUTask* task) 61 uint64_t GetLoad(CPUEUTask* task)
|
H A D | task_runqueue.h | 27 virtual void EnQueue(CPUEUTask* task) = 0; 28 virtual CPUEUTask* DeQueue() = 0; 42 void EnQueue(CPUEUTask* task) override 49 CPUEUTask* DeQueue() override 64 return reinterpret_cast<CPUEUTask *>(w); 68 CPUEUTask* tsk = entry->task;
|
H A D | sched_deadline.h | 24 void Begin(CPUEUTask* task); 25 void End(CPUEUTask* task); 26 uint64_t GetLoad(CPUEUTask* task);
|
H A D | execute_ctx.h | 53 class CPUEUTask; 58 explicit WaitEntry(CPUEUTask *task) : prev(nullptr), next(nullptr), task(task), weType(0), in WaitEntry() 64 CPUEUTask* task; 73 explicit WaitUntilEntry(CPUEUTask* task) : WaitEntry(task), status(we_status::INIT), hasWaitTime(false) in WaitUntilEntry() 92 CPUEUTask* task; // 当前正在执行的Task
|
H A D | scheduler.h | 76 virtual bool WakeupTask(CPUEUTask* task); 81 TaskState::RegisterOps(TaskState::READY, ([this] (CPUEUTask* task) { return this->WakeupTask(task); })); in FFRTScheduler() 91 void ResetDeadline(CPUEUTask* task, int64_t deadline) in ResetDeadline() 102 void updateTask(CPUEUTask* task, int64_t deadline) in updateTask() 114 void UpdateChildTask(CPUEUTask* task, int64_t deadline) in UpdateChildTask()
|
H A D | task_state.h | 27 class CPUEUTask; 33 using Op = typename std::function<bool(CPUEUTask*)>; 101 static int OnTransition(State state, CPUEUTask* task, Op&& op = Op()); 116 inline void Count(CPUEUTask* task);
|
H A D | task_scheduler.h | 37 CPUEUTask* PickNextTask() in PickNextTask() 39 CPUEUTask* task = que->DeQueue(); in PickNextTask() 44 bool WakeupTask(CPUEUTask* task) in WakeupTask()
|
H A D | task_manager.h | 38 void TaskStateCount(CPUEUTask* task); 62 inline void CalcTaskTime(CPUEUTask* task);
|
/foundation/resourceschedule/ffrt/src/sync/ |
H A D | poller.h | 54 WakeDataWithCb(int fdVal, void *dataVal, std::function<void(void *, uint32_t)> cbVal, CPUEUTask *taskVal) in WakeDataWithCb() 61 CPUEUTask* task = nullptr; 67 TimerDataWithCb(void *dataVal, void (*cbVal)(void *), CPUEUTask *taskVal, bool repeat, uint64_t timeout) in TimerDataWithCb() 74 CPUEUTask* task = nullptr; 111 uint64_t GetTaskWaitTime(CPUEUTask* task) noexcept; 116 void ClearCachedEvents(CPUEUTask* task) noexcept; 120 void WakeSyncTask(std::unordered_map<CPUEUTask*, EventVec>& syncTaskEvents) noexcept; 121 void ProcessWaitedFds(int nfds, std::unordered_map<CPUEUTask*, EventVec>& syncTaskEvents, 125 void ProcessTimerDataCb(CPUEUTask* task) noexcept; 128 void CacheEventsAndDoMask(CPUEUTask* tas [all...] |
H A D | wait_queue.cpp | 31 void WaitQueue::ThreadWait(WaitUntilEntry* wn, mutexPrivate* lk, bool legacyMode, CPUEUTask* task) in ThreadWait() 49 const TimePoint& tp, bool legacyMode, CPUEUTask* task) in ThreadWaitUntil() 83 CPUEUTask* task = ctx->task; in SuspendAndWait() 90 CoWait([&](CPUEUTask* task) -> bool { in SuspendAndWait() 126 CPUEUTask* task = ctx->task; 135 ffrt::CPUEUTask* task = wue->task; 146 CoWait([&](CPUEUTask* task) -> bool { 215 CPUEUTask* task = we->task;
|
H A D | wait_queue.h | 26 class CPUEUTask; 56 CPUEUTask* task = nullptr; 93 void ThreadWait(WaitUntilEntry* wn, mutexPrivate* lk, bool legacyMode, CPUEUTask* task); 94 bool ThreadWaitUntil(WaitUntilEntry* wn, mutexPrivate* lk, const TimePoint& tp, bool legacyMode, CPUEUTask* task);
|
H A D | sleep.cpp | 35 CPUEUTask* ExecuteCtxTask() in ExecuteCtxTask() 57 CoWait([&](CPUEUTask* task) -> bool { return DelayedWakeup(to, &task->fq_we, cb); }); in SleepUntilImpl() 81 CoWait([](ffrt::CPUEUTask* task) -> bool { in ffrt_yield()
|
/foundation/resourceschedule/ffrt/src/eu/ |
H A D | co_routine.h | 38 class CPUEUTask; 67 const std::function<bool(ffrt::CPUEUTask*)>* pending = nullptr; 79 ffrt::CPUEUTask* task; 108 using CowakeCB = std::function<void (ffrt::CPUEUTask*, bool)>; 112 static void CoWakeFunc(ffrt::CPUEUTask* task, bool timeOut) in CoWakeFunc() 128 int CoStart(ffrt::CPUEUTask* task); 131 void CoWait(const std::function<bool(ffrt::CPUEUTask*)>& pred); 132 void CoWake(ffrt::CPUEUTask* task, bool timeOut); 135 void TaskTsdDeconstruct(ffrt::CPUEUTask* task);
|
H A D | co_routine.cpp | 98 bool IsTaskLocalEnable(ffrt::CPUEUTask* task) in IsTaskLocalEnable() 125 void SwitchTsdAddrToTask(ffrt::CPUEUTask* task) in SwitchTsdAddrToTask() 132 void SwitchTsdToTask(ffrt::CPUEUTask* task) in SwitchTsdToTask() 146 bool SwitchTsdAddrToThread(ffrt::CPUEUTask* task) in SwitchTsdAddrToThread() 176 void SwitchTsdToThread(ffrt::CPUEUTask* task) in SwitchTsdToThread() 192 void TaskTsdRunDtors(ffrt::CPUEUTask* task) in TaskTsdRunDtors() 200 void TaskTsdDeconstruct(ffrt::CPUEUTask* task) in TaskTsdDeconstruct() 235 ffrt::CPUEUTask* task = co->task; in CoStartEntry() 335 static inline void BindNewCoRoutione(ffrt::CPUEUTask* task) 342 static inline void UnbindCoRoutione(ffrt::CPUEUTask* tas [all...] |
H A D | scpuworker_manager.h | 28 CPUEUTask* PickUpTaskFromGlobalQueue(WorkerThread* thread) override; 29 CPUEUTask* PickUpTaskBatch(WorkerThread* thread) override;
|
H A D | cpu_worker.cpp | 37 void CPUWorker::Run(CPUEUTask* task, CPUWorker* worker) in Run() 108 CPUEUTask* task = reinterpret_cast<CPUEUTask*>(curtask); in RunTask() 155 CPUEUTask* task = worker->ops.PickUpTaskBatch(worker); in GetTask() 246 CPUEUTask* task = worker->ops.PickUpTaskBatch(worker); in WorkerLooperDefault()
|
/foundation/resourceschedule/ffrt/src/util/ |
H A D | init.cpp | 37 [] () -> ffrt::CPUEUTask* { in ffrt_init() 38 return static_cast<ffrt::CPUEUTask*>(ffrt::SimpleAllocator<ffrt::SCPUEUTask>::AllocMem()); in ffrt_init() 40 [] (ffrt::CPUEUTask* task) { in ffrt_init() 47 [] (ffrt::CPUEUTask* task, bool timeOut) -> void {CoWake(task, timeOut);}); in ffrt_init()
|
H A D | worker_monitor.h | 26 CPUEUTask* task_ = nullptr; 32 explicit TaskTimeoutInfo(CPUEUTask* task) : task_(task) {} in TaskTimeoutInfo() 87 CPUEUTask* workerTask, std::vector<TimeoutFunctionInfo>& timeoutFunctions);
|
H A D | ffrt_cpu_boost.cpp | 36 ffrt::CPUEUTask* curTask = ffrt::ExecuteCtx::Cur()->task; in ffrt_cpu_boost_start() 49 ffrt::CPUEUTask* curTask = ffrt::ExecuteCtx::Cur()->task; in ffrt_cpu_boost_end()
|
/foundation/resourceschedule/ffrt/src/dfx/bbox/ |
H A D | bbox.cpp | 44 static CPUEUTask* g_cur_task; 99 CPUEUTask* t = thread.first->curTask; in SaveWorkerStatus() 119 CPUEUTask* t = FFRTFacade::GetSchedInstance()->GetScheduler(i).PickNextTask(); in SaveReadyQueueStatus() 136 auto apply = [&](const char* tag, const std::function<bool(CPUEUTask*)>& filter) { in SaveNormalTaskStatus() 137 std::vector<CPUEUTask*> tmp; in SaveNormalTaskStatus() 139 auto t = reinterpret_cast<CPUEUTask*>(task); in SaveNormalTaskStatus() 162 apply("blocked by synchronization primitive(mutex etc)", [](CPUEUTask* t) { in SaveNormalTaskStatus() 166 apply("blocked by task dependence", [](CPUEUTask* t) { in SaveNormalTaskStatus() 169 apply("pending task", [](CPUEUTask* t) { in SaveNormalTaskStatus() 200 CoStart(reinterpret_cast<CPUEUTask*>( in SaveQueueTaskStatus() [all...] |
/foundation/resourceschedule/ffrt/src/dm/ |
H A D | dependence_manager.h | 62 inline void InsDedup(std::vector<CPUEUTask*> &in_handles, std::vector<const void *> &insNoDup, in InsDedup() 68 static_cast<ffrt::CPUEUTask*>(const_cast<void*>(ins->items[i].ptr))->IncDeleteRef(); in InsDedup() 69 in_handles.emplace_back(static_cast<ffrt::CPUEUTask*>(const_cast<void*>(ins->items[i].ptr))); in InsDedup() 109 virtual void onTaskDone(CPUEUTask* task) = 0; 113 static inline CPUEUTask* Root() in Root()
|