Lines Matching refs:qos
52 for (auto qos = QoS::Min(); qos < QoS::Max(); ++qos) {
55 pollersMtx[qos].unlock();
56 FFRTFacade::GetPPInstance().GetPoller(qos).WakeUp();
57 sleepCtl[qos].cv.notify_all();
60 std::shared_lock<std::shared_mutex> lck(groupCtl[qos].tgMutex);
61 if (groupCtl[qos].threads.empty()) {
68 FFRT_LOGE("erase qos[%d] threads failed", qos);
74 void SCPUWorkerManager::AddDelayedTask(int qos)
78 we->cb = ([this, qos](WaitEntry* we) {
79 int taskCount = GetTaskCount(QoS(qos));
80 std::unique_lock<std::shared_mutex> lck(groupCtl[qos].tgMutex);
81 bool isEmpty = groupCtl[qos].threads.empty();
86 FFRT_LOGW("qos[%d] has worker, no need add delayed task", qos);
90 FFRT_LOGI("notify task, qos %d", qos);
91 FFRTFacade::GetEUInstance().NotifyTaskAdded(QoS(qos));
93 AddDelayedTask(qos);
99 FFRT_LOGW("add delyaed task failed, qos %d", qos);
152 // pick task from global queue (per qos)
209 void SCPUWorkerManager::WakeupWorkers(const QoS& qos)
216 auto& ctl = sleepCtl[qos()];
218 FFRT_PERF_WORKER_WAKE(static_cast<int>(qos));
221 WorkerThread* CPUManagerStrategy::CreateCPUWorker(const QoS& qos, void* manager)
247 return new (std::nothrow) CPUWorker(qos, std::move(ops));
261 [pIns] (const QoS& qos) { return pIns->IncWorker(qos); },
262 [pIns] (const QoS& qos) { pIns->WakeupWorkers(qos); },
263 [pIns] (const QoS& qos) { return pIns->GetTaskCount(qos); },
264 [pIns] (const QoS& qos) { return pIns->GetWorkerCount(qos); },