mirror of
https://github.com/openharmony/linux_frame_aware_sched.git
synced 2026-07-01 22:24:08 -04:00
!190 DDL 黄蓝不同步整改
Merge pull request !190 from mengyiping/OpenHarmony-5.0-Release
This commit is contained in:
@@ -86,9 +86,10 @@ enum rtg_sched_cmdid {
|
||||
|
||||
extern "C" {
|
||||
int EnableRtg(bool flag);
|
||||
int AddThreadToRtg(int tid, int grpId, int prioType = 0);
|
||||
int AddThreadsToRtg(vector<int> tids, int grpId, int prioType = 0);
|
||||
int RemoveRtgThread(int tid);
|
||||
int AddThreadToRtg(int tid, int grpId, int prioType = 0, bool isBlue = false);
|
||||
int AddThreadsToRtg(vector<int> tids, int grpId, int prioType = 0, bool isBlue = false);
|
||||
int RemoveRtgThread(int tid, bool isBlue = false);
|
||||
int RemoveRtgThreads(vector<int> tids, bool isBlue = false);
|
||||
int DestroyRtgGrp(int grpId);
|
||||
int SetFrameRateAndPrioType(int rtgId, int rate, int rtgType);
|
||||
int BeginFrameFreq(int stateParam);
|
||||
|
||||
@@ -102,7 +102,7 @@ int EnableRtg(bool flag)
|
||||
return 0;
|
||||
};
|
||||
|
||||
int AddThreadToRtg(int tid, int grpId, int prioType)
|
||||
int AddThreadToRtg(int tid, int grpId, int prioType, [[maybe_unused]] bool isBlue)
|
||||
{
|
||||
if (g_fd < 0) {
|
||||
return g_fd;
|
||||
@@ -116,10 +116,14 @@ int AddThreadToRtg(int tid, int grpId, int prioType)
|
||||
grp_data.rtg_cmd = CMD_ADD_RTG_THREAD;
|
||||
grp_data.prio_type = prioType;
|
||||
ret = ioctl(g_fd, CMD_ID_SET_RTG, &grp_data);
|
||||
if (ret != 0) {
|
||||
RME_LOGE("add thread to rtg failed, errno = %{public}d (%{public}s), ret = %{public}d",
|
||||
errno, strerror(errno), ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int AddThreadsToRtg(vector<int> tids, int grpId, int prioType)
|
||||
int AddThreadsToRtg(vector<int> tids, int grpId, int prioType, [[maybe_unused]] bool isBlue)
|
||||
{
|
||||
struct rtg_grp_data grp_data;
|
||||
int ret;
|
||||
@@ -148,7 +152,7 @@ int AddThreadsToRtg(vector<int> tids, int grpId, int prioType)
|
||||
return ret;
|
||||
};
|
||||
|
||||
int RemoveRtgThread(int tid)
|
||||
int RemoveRtgThread(int tid, [[maybe_unused]] bool isBlue)
|
||||
{
|
||||
if (g_fd < 0) {
|
||||
return g_fd;
|
||||
@@ -168,6 +172,35 @@ int RemoveRtgThread(int tid)
|
||||
return ret;
|
||||
};
|
||||
|
||||
int RemoveRtgThreads(vector<int> tids, [[maybe_unused]] bool isBlue)
|
||||
{
|
||||
struct rtg_grp_data grp_data;
|
||||
int ret;
|
||||
if (g_fd < 0) {
|
||||
return g_fd;
|
||||
}
|
||||
(void)memset_s(&grp_data, sizeof(struct rtg_grp_data), 0, sizeof(struct rtg_grp_data));
|
||||
int num = static_cast<int>(tids.size());
|
||||
if (num > MAX_TID_NUM) {
|
||||
return -1;
|
||||
}
|
||||
grp_data.tid_num = num;
|
||||
grp_data.rtg_cmd = CMD_REMOVE_RTG_THREAD;
|
||||
for (int i = 0; i < num; i++) {
|
||||
if (tids[i] < 0) {
|
||||
return -1;
|
||||
}
|
||||
grp_data.tids[i] = tids[i];
|
||||
}
|
||||
ret = ioctl(g_fd, CMD_ID_SET_RTG, &grp_data);
|
||||
if (ret < 0) {
|
||||
RME_LOGE("remove grp threads failed, errno = %{public}d (%{public}s)", errno, strerror(errno));
|
||||
} else {
|
||||
RME_LOGI("remove grp threads success, get rtg id %{public}d.", ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int DestroyRtgGrp(int grpId)
|
||||
{
|
||||
if (g_fd < 0) {
|
||||
|
||||
Reference in New Issue
Block a user