diff --git a/services/include/concurrent_task_controller.h b/services/include/concurrent_task_controller.h index d0a7acd811c8730fc2576a1b0f066131ac6fe8bc..837a0d3a7fd8670e6729de24a854a4731f0ad9ed 100644 --- a/services/include/concurrent_task_controller.h +++ b/services/include/concurrent_task_controller.h @@ -39,7 +39,6 @@ public: void QueryDeadline(int queryItem, DeadlineReply& ddlReply, const Json::Value& payload); void Init(); void Release(); - int CreateNewRtgGrp(int prioType, int rtNum); private: bool CheckUid(pid_t uid); @@ -106,4 +105,4 @@ private: } // namespace ConcurrentTask } // namespace OHOS -#endif // CONCURRENT_TASK_SERVICES_CONCURRENTSEVICE_INCLUDE_CONCURRENT_TASK_CONTROLLER_H +#endif // CONCURRENT_TASK_SERVICES_CONCURRENTSEVICE_INCLUDE_CONCURRENT_TASK_CONTROLLER_H \ No newline at end of file diff --git a/services/src/concurrent_task_controller.cpp b/services/src/concurrent_task_controller.cpp index 9d82fcf2c2d82f44c9f2bbcc067e09493ef8fd05..5d56ab4b2bc0cdee4a3b8ba17fc9597e47648d44 100644 --- a/services/src/concurrent_task_controller.cpp +++ b/services/src/concurrent_task_controller.cpp @@ -13,16 +13,14 @@ * limitations under the License. */ -#include -#include -#include -#include #include +#include +#include +#include #include - -#include "concurrent_task_log.h" #include "rtg_interface.h" #include "ipc_skeleton.h" +#include "concurrent_task_log.h" #include "parameters.h" #include "concurrent_task_controller.h" @@ -31,16 +29,9 @@ using namespace OHOS::RME; namespace OHOS { namespace ConcurrentTask { -namespace { - const std::string INTERVAL_DDL = "ffrt.interval.renderthread"; - constexpr int CURRENT_RATE = 90; - constexpr int PARAM_TYPE = 1; - const char RTG_SCHED_IPC_MAGIC = 0xAB; - constexpr int RTG_TYPE_MAX = 3; -} - -#define CMD_ID_SET_RTG \ - _IOWR(RTG_SCHED_IPC_MAGIC, SET_RTG, struct rtg_str_data) +const std::string INTERVAL_DDL = "ffrt.interval.renderthread"; +constexpr int CURRENT_RATE = 90; +constexpr int PARAM_TYPE = 1; TaskController& TaskController::GetInstance() { @@ -565,40 +556,12 @@ void TaskController::PrintInfo() } } -int TaskController::CreateNewRtgGrp(int prioType, int rtNum) -{ - struct rtg_grp_data grp_data; - int ret; - char fileName[] = "/proc/self/sched_rtg_ctrl"; - int fd = open(fileName, O_RDWR); - if (fd < 0) { - CONCUR_LOGE("Open file /proc/self/sched_rth_ctrl, errno = %{public}d", errno); - return fd; - } - (void)memset_s(&grp_data, sizeof(struct rtg_grp_data), 0, sizeof(struct rtg_grp_data)); - if ((prioType > 0) && (prioType < RTG_TYPE_MAX)) { - grp_data.prio_type = prioType; - } - if (rtNum > 0) { - grp_data.rt_cnt = rtNum; - } - grp_data.rtg_cmd = CMD_CREATE_RTG_GRP; - ret = ioctl(fd, CMD_ID_SET_RTG, &grp_data); - if (ret < 0) { - CONCUR_LOGE("create rtg grp failed, errno = %{public}d (%{public}s)", errno, strerror(errno)); - } else { - CONCUR_LOGI("create rtg grp success, get rtg id %{public}d.", ret); - } - close(fd); - return ret; -} - ForegroundAppRecord::ForegroundAppRecord(int uid, int uiTid) { uid_ = uid; uiTid_ = uiTid; if (OHOS::system::GetBoolParameter(INTERVAL_DDL, false)) { - grpId_ = TaskController::GetInstance().CreateNewRtgGrp(PRIO_RT, MAX_KEY_THREADS); + grpId_ = CreateNewRtgGrp(PRIO_RT, MAX_KEY_THREADS); } else { grpId_ = -1; }