/foundation/resourceschedule/ffrt/src/core/ |
D | task.cpp | 34 namespace ffrt { namespace 51 TaskCtx* curTask = ffrt::ExecuteCtx::Cur()->task; in set_trace_tag() 60 TaskCtx* curTask = ffrt::ExecuteCtx::Cur()->task; in clear_trace_tag() 95 static_assert(sizeof(ffrt::task_attr_private) <= ffrt_task_attr_storage_size, in ffrt_task_attr_init() 98 new (attr)ffrt::task_attr_private(); in ffrt_task_attr_init() 109 auto p = reinterpret_cast<ffrt::task_attr_private *>(attr); in ffrt_task_attr_destroy() 120 (reinterpret_cast<ffrt::task_attr_private *>(attr))->name_ = name; in ffrt_task_attr_set_name() 131 return (reinterpret_cast<ffrt::task_attr_private *>(p))->name_.c_str(); in ffrt_task_attr_get_name() 141 ffrt::QoS _qos = ffrt::QoS(qos); in ffrt_task_attr_set_qos() 142 (reinterpret_cast<ffrt::task_attr_private *>(attr))->qos_ = _qos(); in ffrt_task_attr_set_qos() [all …]
|
/foundation/resourceschedule/ffrt/examples/ |
D | submit.cpp | 21 ffrt::submit([&]() { x = 2; }, {}, {&x}); in ffrt_submit_example1() 22 ffrt::submit([&]() { x = x * 3; }, {&x}, {}); in ffrt_submit_example1() 23 ffrt::wait(); in ffrt_submit_example1() 30 ffrt::submit([&]() { x = 2; }, {}, {&x}, ffrt::task_attr().name("add2")); in ffrt_submit_example2() 31 ffrt::submit([&]() { x = x * 3; }, {&x}, {}, in ffrt_submit_example2() 32 ffrt::task_attr().name("mul3")); // default to CPU in ffrt_submit_example2() 33 ffrt::wait(); in ffrt_submit_example2() 41 ffrt::task_handle h = ffrt::submit_h([&]() { x = 2; }, {}, {}); in ffrt_submit_example3() 42 ffrt::wait({h}); in ffrt_submit_example3()
|
/foundation/resourceschedule/ffrt/benchmarks/fib/ |
D | fib.cpp | 19 using namespace ffrt; 40 ffrt::submit([&]() { FibFFRTChildWait(x - 1, y1); }, {}, {}); in FibFFRTChildWait() 41 ffrt::submit([&]() { FibFFRTChildWait(x - 2, y2); }, {}, {}); in FibFFRTChildWait() 42 ffrt::wait(); in FibFFRTChildWait() 54 ffrt::submit([&]() { FibFFRTDataWait(x - 1, y1); }, {}, {&y1}); in FibFFRTDataWait() 55 ffrt::submit([&]() { FibFFRTDataWait(x - 2, y2); }, {}, {&y2}); in FibFFRTDataWait() 56 ffrt::wait({&y1, &y2}); in FibFFRTDataWait() 75 ffrt::submit([&]() { FibFFRTDataWait(FIB_NUM, output); }, {}, {&output}); in FibDataWait() 76 ffrt::wait({&output}); in FibDataWait() 89 ffrt::submit([=]() { FibFFRTNoWait(x - 1, y1); }, {}, {y1}); in FibFFRTNoWait() [all …]
|
/foundation/resourceschedule/ffrt/src/sync/ |
D | condition_variable.cpp | 23 namespace ffrt { namespace 37 static_assert(sizeof(ffrt::condition_variable_private) <= ffrt_cond_storage_size, in ffrt_cond_init() 40 new (cond) ffrt::condition_variable_private(); in ffrt_cond_init() 51 auto p = (ffrt::condition_variable_private*)cond; in ffrt_cond_signal() 63 auto p = (ffrt::condition_variable_private*)cond; in ffrt_cond_broadcast() 75 auto pc = (ffrt::condition_variable_private*)cond; in ffrt_cond_wait() 76 auto pm = (ffrt::mutexPrivate*)mutex; in ffrt_cond_wait() 88 auto pc = (ffrt::condition_variable_private*)cond; in ffrt_cond_timedwait() 89 auto pm = (ffrt::mutexPrivate*)mutex; in ffrt_cond_timedwait() 93 auto tp = ffrt::time_point_t { in ffrt_cond_timedwait() [all …]
|
D | sleep.cpp | 33 namespace ffrt { namespace 70 if (!ffrt::USE_COROUTINE || ffrt::this_task::ExecuteCtxTask() == nullptr) { in ffrt_yield() 74 FFRT_BLOCK_TRACER(ffrt::this_task::ExecuteCtxTask()->gid, yld); in ffrt_yield() 75 CoWait([](ffrt::TaskCtx* inTask) -> bool { in ffrt_yield() 87 ffrt::this_task::sleep_until_impl(to); in ffrt_usleep()
|
/foundation/resourceschedule/ffrt/benchmarks/face_story/ |
D | face_story.cpp | 39 ffrt::submit( in FaceStory() 42 ffrt::submit([&]() { simulate_task_compute_time(COMPUTE_TIME_US); }, {}, {}); in FaceStory() 45 ffrt::submit([&]() { simulate_task_compute_time(COMPUTE_TIME_US); }, {}, {}); in FaceStory() 47 ffrt::wait(); // 同步下采样结果 in FaceStory() 55 ffrt::submit( in FaceStory() 66 … ffrt::submit([&]() { simulate_task_compute_time(COMPUTE_TIME_US); }, {&faceBboxes_}, {}); in FaceStory() 71 ffrt::submit( in FaceStory() 82 ffrt::submit( in FaceStory() 93 ffrt::submit( in FaceStory() 104 ffrt::submit( in FaceStory() [all …]
|
/foundation/resourceschedule/ffrt/benchmarks/fork_join/ |
D | fork_join.cpp | 28 ffrt::submit([=]() { simulate_task_compute_time(COMPUTE_TIME_US); }, {}, {}); in ForkJoin() 30 ffrt::wait(); in ForkJoin() 41 ffrt::submit( in ForkJoinWorker() 44 ffrt::submit([=]() { simulate_task_compute_time(COMPUTE_TIME_US); }, {}, {}); in ForkJoinWorker() 46 ffrt::wait(); in ForkJoinWorker() 49 ffrt::wait({&r}); in ForkJoinWorker()
|
/foundation/resourceschedule/ffrt/src/queue/ |
D | serial_queue_api.cpp | 22 using namespace ffrt; 25 inline void ResetTimeoutCb(ffrt::task_attr_private* p) in ResetTimeoutCb() 41 new (task)ffrt::SerialTask(); in ffrt_queue_submit_base() 57 static_assert(sizeof(ffrt::task_attr_private) <= ffrt_task_attr_storage_size, in ffrt_queue_attr_init() 60 new (attr) ffrt::task_attr_private(); in ffrt_queue_attr_init() 68 auto p = reinterpret_cast<ffrt::task_attr_private*>(attr); in ffrt_queue_attr_destroy() 77 ffrt::QoS _qos = ffrt::QoS(qos); in ffrt_queue_attr_set_qos() 78 (reinterpret_cast<ffrt::task_attr_private*>(attr))->qos_ = _qos(); in ffrt_queue_attr_set_qos() 86 return static_cast<ffrt_qos_t>((reinterpret_cast<ffrt::task_attr_private*>(p))->qos_); in ffrt_queue_attr_get_qos() 93 (reinterpret_cast<ffrt::task_attr_private*>(attr))->timeout_ = timeout_us; in ffrt_queue_attr_set_timeout() [all …]
|
D | serial_task.h | 21 namespace ffrt { 33 ffrt::mutex mutex_; 34 ffrt::condition_variable cond_;
|
D | serial_queue.h | 25 namespace ffrt { 37 ffrt::mutex mutex_; 38 ffrt::condition_variable cond_;
|
/foundation/resourceschedule/ffrt/src/dfx/watchdog/ |
D | watchdog.cpp | 19 namespace ffrt { namespace 55 ffrt::WatchdogCfg::Instance()->callback = cb; in ffrt_watchdog_register() 56 ffrt::WatchdogCfg::Instance()->timeout = timeout_ms; in ffrt_watchdog_register() 57 ffrt::WatchdogCfg::Instance()->interval = interval_ms; in ffrt_watchdog_register() 63 return ffrt::WatchdogCfg::Instance()->callback; in ffrt_watchdog_get_cb() 69 return ffrt::WatchdogCfg::Instance()->timeout; in ffrt_watchdog_get_timeout() 75 return ffrt::WatchdogCfg::Instance()->interval; in ffrt_watchdog_get_interval()
|
/foundation/resourceschedule/ffrt/interfaces/kits/ |
D | BUILD.gn | 18 dest_dir = "$ndk_headers_out_dir/ffrt" 30 output_name = "ffrt" 31 ndk_description_file = "./ffrt.ndk.json" 34 "ffrt/condition_variable.h", 35 "ffrt/mutex.h", 36 "ffrt/queue.h", 37 "ffrt/sleep.h", 38 "ffrt/task.h", 39 "ffrt/type_def.h",
|
/foundation/resourceschedule/ffrt/src/sched/ |
D | deadline.cpp | 24 namespace ffrt { namespace 58 return new ffrt::qos_interval_private_t(deadline_us, qos); in ffrt_interval_create() 69 auto _it = static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_update() 83 auto _it = static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_begin() 96 auto _it = static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_end() 110 delete static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_destroy() 121 auto _it = static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_join() 135 auto _it = static_cast<ffrt::qos_interval_private_t *>(it); in ffrt_interval_leave()
|
/foundation/ability/ability_runtime/services/common/src/ |
D | ffrt_task_utils_wrap.h | 27 explicit InnerTaskHandle(ffrt::task_handle &&taskHandle) in InnerTaskHandle() 32 ffrt::task_handle &GetFfrtHandle() in GetFfrtHandle() 37 ffrt::task_handle taskHandle_; 40 void BuildFfrtTaskAttr(const TaskAttribute &taskAttr, ffrt::task_attr &result); 41 ffrt::qos Convert2FfrtQos(TaskQoS taskqos);
|
D | task_handler_wrap.cpp | 74 tasksMutex_ = std::make_unique<ffrt::mutex>(); in TaskHandlerWrap() 104 std::lock_guard<ffrt::mutex> guard(*tasksMutex_); in SubmitTask() 147 std::lock_guard<ffrt::mutex> guard(*tasksMutex_); in CancelTask() 160 std::lock_guard<ffrt::mutex> guard(*tasksMutex_); in RemoveTask() 168 ffrt::qos Convert2FfrtQos(TaskQoS taskqos) in Convert2FfrtQos() 172 return ffrt::qos_inherit; in Convert2FfrtQos() 174 return ffrt::qos_background; in Convert2FfrtQos() 176 return ffrt::qos_utility; in Convert2FfrtQos() 178 return ffrt::qos_default; in Convert2FfrtQos() 180 return ffrt::qos_user_initiated; in Convert2FfrtQos() [all …]
|
D | ffrt_task_handler_wrap.cpp | 25 return std::make_shared<InnerTaskHandle>(ffrt::submit_h(std::move(task))); in SubmitTaskInner() 27 ffrt::task_attr ffrtTaskAttr; in SubmitTaskInner() 29 return std::make_shared<InnerTaskHandle>(ffrt::submit_h(std::move(task), in SubmitTaskInner() 39 return ffrt::skip(taskHandle->GetFfrtHandle()) == 0; in CancelTaskInner() 47 ffrt::wait({taskHandle->GetFfrtHandle()}); in WaitTaskInner()
|
/foundation/resourceschedule/ffrt/src/eu/ |
D | co_routine.cpp | 57 auto exp = ffrt::SkipStatus::SUBMITTED; in CoStartEntry() 58 … if (likely(__atomic_compare_exchange_n(&co->task->skipped, &exp, ffrt::SkipStatus::EXECUTED, 0, in CoStartEntry() 65 co->task->UpdateState(ffrt::TaskState::EXITED); in CoStartEntry() 109 CoRoutine* co = ffrt::QSimpleAllocator<CoRoutine>::allocMem(stack_size); in AllocNewCoRoutine() 128 ffrt::QSimpleAllocator<CoRoutine>::freeMem(co); in CoMemFree() 139 static inline void BindNewCoRoutione(ffrt::TaskCtx* task) in BindNewCoRoutione() 146 static inline void UnbindCoRoutione(ffrt::TaskCtx* task) in UnbindCoRoutione() 152 static inline int CoAlloc(ffrt::TaskCtx* task) in CoAlloc() 172 static inline int CoCreat(ffrt::TaskCtx* task) in CoCreat() 192 static inline void CoSwitchInTrace(ffrt::TaskCtx* task) in CoSwitchInTrace() [all …]
|
D | co_routine.h | 29 namespace ffrt { 59 const std::function<bool(ffrt::TaskCtx*)>* pending; 71 ffrt::TaskCtx* task; 98 void CoStart(ffrt::TaskCtx* task); 101 void CoWait(const std::function<bool(ffrt::TaskCtx*)>& pred); 102 void CoWake(ffrt::TaskCtx* task, bool timeOut);
|
/foundation/resourceschedule/ffrt/docs/ |
D | user_guide.md | 111 > C++ API采用接近C++11的命名风格,以`ffrt`命名空间替代`std`命名空间 123 namespace ffrt { 144 * `注意`:该依赖值本质上是一个数值,ffrt没办法区分该值是合理的还是不合理的,会假定输入的值是合理的进行处理;但不建议采用NULL,1, 2 等值来建立依赖关系,建议采用实际的内存地址,因为前… 189 #include "ffrt.h" 195 ffrt::submit([i] { std::cout << "num: " << i << std::endl; }); 197 ffrt::wait(); 206 2) ffrt::submit 为异步下发,因此,Task2 并不会等到 Task1 执行完成之后再下发; 208 3) ffrt::wait 用于实现待所有Task 都执行完成之后 main 函数再退出; 238 #include "ffrt.h" 243 ffrt::submit([&] {x = 100; std::cout << "x:" << x << std::endl;}, {}, {&x}); [all …]
|
/foundation/resourceschedule/ffrt/ |
D | CMakeLists.txt | 2 # ffrt CMake 15 option(FFRT_BBOX_ENABLE "Enables ffrt black box" ON) 16 option(FFRT_EXAMPLE "Enables ffrt examples compile" ON) 17 option(FFRT_BENCHMARKS "Enables ffrt Benchmarks" OFF) 18 option(FFRT_TEST_ENABLE "Enables ffrt test" OFF) 22 # set compiler clang or gcc, must before project(ffrt) 32 project(ffrt) project 71 # ffrt BBOX 80 # ffrt Examples 85 # ffrt Benchmarks
|
/foundation/resourceschedule/ffrt/benchmarks/ |
D | common.h | 72 ffrt::submit([&]() { FibFFRT(x - 1, y1); }, {&x}, {&y1}); in FibFFRT() 73 ffrt::submit([&]() { FibFFRT(x - 2, y2); }, {&x}, {&y2}); in FibFFRT() 74 ffrt::wait({&y1, &y2}); in FibFFRT() 86 ffrt::submit([&]() { FibFFRT(20, output); }, {}, {&output}); in PreHotFFRT() 87 ffrt::wait({&output}); in PreHotFFRT() 103 ffrt::submit([&]() { simulate_task_compute_time(duration); }, {}, {}); in completely_paralle() 105 ffrt::wait(); in completely_paralle() 115 ffrt::submit([&]() { simulate_task_compute_time(duration); }, {&x}, {&x}); in completely_serial() 117 ffrt::wait(); in completely_serial()
|
/foundation/ability/ability_runtime/services/abilitymgr/src/ |
D | task_data_persistence_mgr.cpp | 40 std::lock_guard<ffrt::mutex> lock(mutex_); in Init() 56 std::lock_guard<ffrt::mutex> lock(mutex_); in LoadAllMissionInfo() 67 std::lock_guard<ffrt::mutex> lock(mutex_); in SaveMissionInfo() 86 std::lock_guard<ffrt::mutex> lock(mutex_); in DeleteMissionInfo() 105 std::lock_guard<ffrt::mutex> lock(mutex_); in RemoveUserDir() 121 std::lock_guard<ffrt::mutex> lock(mutex_); in SaveMissionSnapshot() 151 std::lock_guard<ffrt::mutex> lock(mutex_); in GetMissionSnapshot()
|
D | mission_info_mgr.cpp | 42 std::lock_guard<ffrt::mutex> lock(mutex_); in GenerateMissionId() 62 std::lock_guard<ffrt::mutex> lock(mutex_); in Init() 86 std::lock_guard<ffrt::mutex> lock(mutex_); in AddMissionInfo() 117 std::lock_guard<ffrt::mutex> lock(mutex_); in UpdateMissionInfo() 153 std::lock_guard<ffrt::mutex> lock(mutex_); in DeleteMissionInfo() 188 std::lock_guard<ffrt::mutex> lock(mutex_); in DeleteAllMissionInfos() 233 std::lock_guard<ffrt::mutex> lock(mutex_); in GetMissionInfos() 253 std::lock_guard<ffrt::mutex> lock(mutex_); in GetMissionInfoById() 281 std::lock_guard<ffrt::mutex> lock(mutex_); in GetInnerMissionInfoById() 307 std::lock_guard<ffrt::mutex> lock(mutex_); in FindReusedMissionInfo() [all …]
|
/foundation/ability/ability_runtime/services/appmgr/src/ |
D | app_running_manager.cpp | 68 std::lock_guard<ffrt::mutex> guard(lock_); in CreateAppRunningRecord() 95 std::lock_guard<ffrt::mutex> guard(lock_); in CheckAppRunningRecordIsExist() 123 std::lock_guard<ffrt::mutex> guard(lock_); in CheckAppRunningRecordIsExistByBundleName() 138 std::lock_guard<ffrt::mutex> guard(lock_); in GetAppRunningRecordByPid() 153 std::lock_guard<ffrt::mutex> guard(lock_); in GetAppRunningRecordByAbilityToken() 171 std::lock_guard<ffrt::mutex> guard(lock_); in ProcessExitByBundleName() 195 std::lock_guard<ffrt::mutex> guard(lock_); in GetPidsByUserId() 216 std::lock_guard<ffrt::mutex> guard(lock_); in ProcessUpdateApplicationInfoInstalled() 237 std::lock_guard<ffrt::mutex> guard(lock_); in ProcessExitByBundleNameAndUid() 261 std::lock_guard<ffrt::mutex> guard(lock_); in ProcessExitByPid() [all …]
|
/foundation/resourceschedule/ffrt/interfaces/inner_api/cpp/ |
D | thread.h | 21 namespace ffrt { 35 ffrt::submit([tup]() { in thread() 38 }, {}, {is_joinable.get()}, ffrt::task_attr().name(name).qos(qos_)); in thread() 48 ffrt::submit([tup]() { in thread() 51 }, {}, {is_joinable.get()}, ffrt::task_attr().qos(qos_)); in thread() 63 ffrt::submit([tup]() { in thread() 98 ffrt::wait({is_joinable.get()}); in join()
|