Lines Matching refs:task
45 [this](CPUEUTask* task) { return this->onTaskDone(static_cast<SCPUEUTask*>(task)), true; }); in SDependenceManager() argument
90 …auto parent = (ctx->task && ctx->task->type == ffrt_normal_task) ? ctx->task : DependenceManager::… in onSubmit()
93 SCPUEUTask* task = nullptr; in onSubmit() local
95 task = reinterpret_cast<SCPUEUTask*>(static_cast<uintptr_t>( in onSubmit()
97 new (task)SCPUEUTask(attr, parent, ++parent->childNum, QoS()); in onSubmit()
99 FFRT_TRACE_BEGIN(("submit|" + std::to_string(task->gid)).c_str()); in onSubmit()
102 task->stackId = FFRTCollectAsyncStack(); in onSubmit()
106 FFRTTraceRecord::TaskSubmit<ffrt_normal_task>(qos, &(task->createTime), &(task->fromTid)); in onSubmit()
110 RemoveRepeatedDeps(task->in_handles, ins, outs, insNoDup, outsNoDup); in onSubmit()
113 if (attr != nullptr && IsValidTimeout(task->gid, attr->timeout_)) { in onSubmit()
114 task->isWatchdogEnable = true; in onSubmit()
115 AddTaskToWatchdog(task->gid); in onSubmit()
116 SendTimeoutWatchdog(task->gid, attr->timeout_, attr->delay_); in onSubmit()
120 task->IncDeleteRef(); in onSubmit()
121 handle = static_cast<ffrt_task_handle_t>(task); in onSubmit()
124 task->SetQos(qos); in onSubmit()
128 task->IncChildRef(); in onSubmit()
137 MapSignature2Deps(task, insNoDup, outsNoDup, inDatas, outDatas); in onSubmit()
142 i.first->AddConsumer(task, i.second); in onSubmit()
149 o.first->AddProducer(task); in onSubmit()
152 if (task->dataRefCnt.submitDep != 0) { in onSubmit()
153 FFRT_BLOCK_TRACER(task->gid, dep); in onSubmit()
160 task->notifyWorker_ = attr->notifyWorker_; in onSubmit()
163 task->UpdateState(TaskState::READY); in onSubmit()
171 …auto baseTask = (ctx->task && ctx->task->type == ffrt_normal_task) ? ctx->task : DependenceManager… in onWait()
172 auto task = static_cast<SCPUEUTask*>(baseTask); in onWait() local
174 if (ThreadWaitMode(task)) { in onWait()
175 std::unique_lock<std::mutex> lck(task->mutex_); in onWait()
176 task->MultiDepenceAdd(Denpence::CALL_DEPENCE); in onWait()
177 FFRT_LOGD("onWait name:%s gid=%lu", task->label.c_str(), task->gid); in onWait()
178 if (FFRT_UNLIKELY(LegacyMode(task))) { in onWait()
179 task->blockType = BlockType::BLOCK_THREAD; in onWait()
181 task->waitCond_.wait(lck, [task] { return task->childRefCnt == 0; }); in onWait()
185 auto childDepFun = [&](ffrt::CPUEUTask* task) -> bool { in onWait() argument
186 auto sTask = static_cast<SCPUEUTask*>(task); in onWait()
195 FFRT_BLOCK_TRACER(task->gid, chd); in onWait()
206 …auto baseTask = (ctx->task && ctx->task->type == ffrt_normal_task) ? ctx->task : DependenceManager… in onWait()
207 auto task = static_cast<SCPUEUTask*>(baseTask); in onWait() local
208 task->dataRefCnt.waitDep = 0; in onWait()
221 for (auto out : std::as_const(task->outs)) { in onWait()
236 data->AddDataWaitTaskByThis(task); in onWait()
240 if (ThreadWaitMode(task)) { in onWait()
242 std::unique_lock<std::mutex> lck(task->mutex_); in onWait()
243 task->MultiDepenceAdd(Denpence::DATA_DEPENCE); in onWait()
244 FFRT_LOGD("onWait name:%s gid=%lu", task->label.c_str(), task->gid); in onWait()
245 if (FFRT_UNLIKELY(LegacyMode(task))) { in onWait()
246 task->blockType = BlockType::BLOCK_THREAD; in onWait()
248 task->waitCond_.wait(lck, [task] { return task->dataRefCnt.waitDep == 0; }); in onWait()
252 auto pendDataDepFun = [&](ffrt::CPUEUTask* task) -> bool { in onWait() argument
253 auto sTask = static_cast<SCPUEUTask*>(task); in onWait()
264 FFRT_BLOCK_TRACER(task->gid, dat); in onWait()
273 void SDependenceManager::onTaskDone(CPUEUTask* task) in onTaskDone() argument
275 auto sTask = static_cast<SCPUEUTask*>(task); in onTaskDone()
276 FFRTTraceRecord::TaskDone<ffrt_normal_task>(task->GetQos()); in onTaskDone()
277 FFRTTraceRecord::TaskDone<ffrt_normal_task>(task->GetQos(), task); in onTaskDone()
298 if (task->isWatchdogEnable) { in onTaskDone()
299 RemoveTaskFromWatchdog(task->gid); in onTaskDone()
304 void SDependenceManager::MapSignature2Deps(SCPUEUTask* task, const std::vector<const void*>& inDeps, in MapSignature2Deps() argument
314 for (auto parentOut : std::as_const(static_cast<SCPUEUTask*>(task->parent)->outs)) { in MapSignature2Deps()
322 for (auto parentIn : std::as_const(static_cast<SCPUEUTask*>(task->parent)->ins)) { in MapSignature2Deps()
330 version = en->VA2Ctx(signature, task); in MapSignature2Deps()
339 for (auto parentOut : std::as_const(static_cast<SCPUEUTask*>(task->parent)->outs)) { in MapSignature2Deps()
348 for (auto parentIn : std::as_const(static_cast<SCPUEUTask*>(task->parent)->ins)) { in MapSignature2Deps()
355 version = en->VA2Ctx(signature, task); in MapSignature2Deps()