Add warning log and code refactoring 36/229136/7 submit/tizen/20200331.061908
authorYoungHun Kim <yh8004.kim@samsung.com>
Fri, 27 Mar 2020 10:14:18 +0000 (19:14 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Tue, 31 Mar 2020 05:36:45 +0000 (14:36 +0900)
Change-Id: Id588d157344ac47c02f71661bb5f27c03837344b

src/common/mm_resource_manager_utils.h
src/daemon/backend/mm_resource_manager_backend.c
src/daemon/backend/murphy/mm_resource_manager_rset.c
src/daemon/mm_resource_manager_daemon_priv.c
src/lib/mm_resource_manager_priv.c

index 8d7ca1c..3ae8326 100644 (file)
@@ -34,6 +34,7 @@
 #define FONT_COLOR_RESET    "\033[0m"
 #define FONT_COLOR_RED      "\033[31m"
 #define FONT_COLOR_GREEN    "\033[32m"
+#define FONT_COLOR_YELLOW   "\033[33;1m"
 
 #define MM_RM_DEBUG(fmt, arg...)                                    \
        do {                                                            \
                LOGI(FONT_COLOR_GREEN""fmt""FONT_COLOR_RESET, ##arg);       \
        } while (0)
 
+#define MM_RM_WARNING(fmt, arg...)                                  \
+       do {                                                            \
+               LOGW(FONT_COLOR_YELLOW""fmt""FONT_COLOR_YELLOW, ##arg);     \
+       } while (0)
+
 #define MM_RM_ERROR(fmt, arg...)                                    \
        do {                                                            \
                LOGE(FONT_COLOR_RED""fmt""FONT_COLOR_RESET, ##arg);         \
index a9b249e..da19481 100644 (file)
@@ -87,7 +87,7 @@ int mm_resource_manager_backend_release(mm_resource_manager_res_type_e type)
        if (resources[type].ref_counter > 0)
                resources[type].ref_counter--;
        else
-               MM_RM_INFO("Reference counter is already 0");
+               MM_RM_WARNING("Reference counter is already 0");
 
        return MM_RESOURCE_MANAGER_ERROR_NONE;
 }
index 32a8b0e..4b675b7 100644 (file)
@@ -292,6 +292,7 @@ static void _mm_resource_manager_rset_state_callback(mrp_res_context_t *cx, cons
                break;
        default:
                MM_RM_ERROR("rset (%p). Invalid state.", rset);
+               break;
        }
 
        rset->state = rs->state;
index 60ed561..e097af3 100644 (file)
@@ -91,7 +91,7 @@ static void __handle_release_requests(mm_resource_manager_dmn_p manager,
 static GArray* __handle_acquire_requests(mm_resource_manager_dmn_p manager,
                mm_resource_manager_dmn_res_request_s *requests);
 static void __handle_release_callbacks(GArray *requests);
-static inline void __add_cb_request(GArray *cb_requests, mm_resource_manager_dmn_p man,
+static inline void __add_cb_request(GArray *cb_requests, mm_resource_manager_dmn_p mgr,
                mm_resource_manager_res_type_e type, mm_resource_manager_res_volume volume);
 static void __release_all_resources(mm_resource_manager_dmn_s *manager);
 static gboolean __wait_for_release_cb_sync(mm_resource_manager_id id);
@@ -152,7 +152,7 @@ gboolean _mmrm_dmn_deinit()
 mm_resource_manager_error_e _mmrm_dmn_create(
                mm_resource_manager_app_class_e app_class, mm_resource_manager_id *id)
 {
-       mm_resource_manager_dmn_p man;
+       mm_resource_manager_dmn_p mgr;
        mm_resource_manager_conf_s *conf = mm_resource_manager_get_conf();
        int i;
 
@@ -165,19 +165,19 @@ mm_resource_manager_error_e _mmrm_dmn_create(
                        MM_RESOURCE_MANAGER_ERROR_INVALID_PARAMETER,
                        "App class is not supported for the platform");
 
-       man = g_new0(mm_resource_manager_dmn_s, 1);
-       MM_RM_RAND64(man->id);
-       man->app_class = app_class;
+       mgr = g_new0(mm_resource_manager_dmn_s, 1);
+       MM_RM_RAND64(mgr->id);
+       mgr->app_class = app_class;
        for (i = 0; i < MM_RESOURCE_MANAGER_RES_TYPE_MAX; i++) {
-               man->resources[i] = conf->max_volume[i] == MM_RESOURCE_MANAGER_NO_RES ?
+               mgr->resources[i] = conf->max_volume[i] == MM_RESOURCE_MANAGER_NO_RES ?
                                NULL : g_malloc0(sizeof(mm_resource_manager_dmn_s));
        }
 
-       g_ptr_array_add(managers, man);
+       g_ptr_array_add(managers, mgr);
 
        MM_RM_INFO("managers length %d", managers->len);
 
-       *id = man->id;
+       *id = mgr->id;
 
        return MM_RESOURCE_MANAGER_ERROR_NONE;
 }
@@ -187,20 +187,20 @@ mm_resource_manager_error_e _mmrm_dmn_destroy(mm_resource_manager_id id)
        int idx = __search_manager_index(id);
        mm_resource_manager_conf_s *conf = mm_resource_manager_get_conf();
        mm_resource_manager_res_type_e type = MM_RESOURCE_MANAGER_RES_TYPE_MAX;
-       mm_resource_manager_dmn_p i_man = __search_manager(id);
+       mm_resource_manager_dmn_p i_mgr = __search_manager(id);
 
        MM_RM_RETVM_IF(idx == MM_RESOURCE_MANGER_NOT_FOUND, MM_RESOURCE_MANAGER_ERROR_INVALID_PARAMETER,
                        "Resource manager #%"PRIu64" doesn't exist", _mm_rm_hash64(id));
        MM_RM_RETVM_IF(conf == NULL, MM_RESOURCE_MANAGER_ERROR_NONE, "conf is null");
 
-       i_man = (mm_resource_manager_dmn_p)managers->pdata[idx];
+       i_mgr = (mm_resource_manager_dmn_p)managers->pdata[idx];
 
        __release_all_resources((mm_resource_manager_dmn_s *)managers->pdata[idx]);
        mm_resource_manager_backend_commit_all();
 
        g_ptr_array_remove_index_fast(managers, idx);
 
-       type = i_man->type;
+       type = i_mgr->type;
 
        MM_RM_INFO("managers length #%d type %d available volume %d", managers->len, type, conf->max_volume[type]);
 
@@ -414,7 +414,7 @@ static mm_resource_manager_error_e __check_increase_requests(mm_resource_manager
                        mm_resource_manager_dmn_res_request_s *requests)
 {
        mm_resource_manager_res_volume remaining_volume;
-       mm_resource_manager_dmn_p i_man;
+       mm_resource_manager_dmn_p i_mgr;
        mm_resource_manager_conf_s *conf = mm_resource_manager_get_conf();
        int i, j, len;
        mm_resource_manager_res_type_e type = MM_RESOURCE_MANAGER_RES_TYPE_MAX;
@@ -440,18 +440,18 @@ static mm_resource_manager_error_e __check_increase_requests(mm_resource_manager
                remaining_volume = conf->max_volume[type];
 
                for (i = 0; i < len; i++) {
-                       i_man = (mm_resource_manager_dmn_p)managers->pdata[i];
+                       i_mgr = (mm_resource_manager_dmn_p)managers->pdata[i];
 
-                       if (i_man != manager && conf->priority[i_man->app_class] > conf->priority[manager->app_class] &&
-                               i_man->resources[type]->is_acquired) {
-                               if (i_man->resources[type]->parts) {
+                       if (i_mgr != manager && conf->priority[i_mgr->app_class] > conf->priority[manager->app_class] &&
+                               i_mgr->resources[type]->is_acquired) {
+                               if (i_mgr->resources[type]->parts) {
                                        if (requests->volume == MM_RESOURCE_MANAGER_RES_VOLUME_FULL) {
                                                requests->priority_error = TRUE;
                                                MM_RM_DEBUG("Resource conflict. Full volume is requested, but only part is available");
                                                return MM_RESOURCE_MANAGER_ERROR_LOW_PRIORITY;
                                        } else {
-                                               for (j = 0; j < i_man->resources[type]->parts->len; j++)
-                                                       remaining_volume -= g_array_index(i_man->resources[type]->parts,
+                                               for (j = 0; j < i_mgr->resources[type]->parts->len; j++)
+                                                       remaining_volume -= g_array_index(i_mgr->resources[type]->parts,
                                                                                                mm_resource_manager_res_volume, j);
 
                                                if (remaining_volume < requests->volume) {
@@ -487,7 +487,7 @@ static void __sync_increase_acquire_requests(mm_resource_manager_dmn_res_request
        }
 }
 
-static inline void __add_cb_request(GArray *cb_requests,mm_resource_manager_dmn_p man,
+static inline void __add_cb_request(GArray *cb_requests,mm_resource_manager_dmn_p mgr,
                        mm_resource_manager_res_type_e type, mm_resource_manager_res_volume volume)
 {
        mm_resource_manager_dmn_release_cb_request_s *cb_request;
@@ -495,7 +495,7 @@ static inline void __add_cb_request(GArray *cb_requests,mm_resource_manager_dmn_
        g_array_set_size(cb_requests, cb_requests->len + 1);
        cb_request = &g_array_index(cb_requests, mm_resource_manager_dmn_release_cb_request_s, cb_requests->len - 1);
 
-       cb_request->manager = man;
+       cb_request->manager = mgr;
        cb_request->type = type;
        cb_request->volume = volume;
 }
@@ -505,7 +505,7 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
 {
        mm_resource_manager_conf_s *conf = mm_resource_manager_get_conf();
        mm_resource_manager_res_volume acquired_volume = 0;
-       mm_resource_manager_dmn_p i_man = NULL, j_man = NULL;
+       mm_resource_manager_dmn_p i_mgr = NULL, j_mgr = NULL;
        const char *res_name = NULL;
        GArray *cb_requests = NULL;
        GArray *res = NULL;
@@ -529,41 +529,41 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                        MM_RM_DEBUG("Full volume of %s is requested [man %p]", res_name, manager);
 
                        for (i = 0; i < managers->len; i++) {
-                               i_man = (mm_resource_manager_dmn_p)managers->pdata[i];
+                               i_mgr = (mm_resource_manager_dmn_p)managers->pdata[i];
 
-                               if (!i_man->resources[type]->is_acquired ||
-                                       conf->priority[i_man->app_class] >conf->priority[manager->app_class]) {
-                                       i_man->resources[type]->is_acquired = TRUE;
+                               if (!i_mgr->resources[type]->is_acquired ||
+                                       conf->priority[i_mgr->app_class] >conf->priority[manager->app_class]) {
+                                       i_mgr->resources[type]->is_acquired = TRUE;
                                        if (conf->max_instance[type] > 0)
                                                res_count[type]++;
                                        continue;
                                }
 
-                               res = i_man->resources[type]->parts;
+                               res = i_mgr->resources[type]->parts;
                                if (res) {
 
                                        for (j = 0; j < res->len; j++) {
-                                               __add_cb_request(cb_requests, i_man, type,
+                                               __add_cb_request(cb_requests, i_mgr, type,
                                                                g_array_index(res, mm_resource_manager_res_volume, j));
 
                                                mm_resource_manager_backend_release(type);
                                        }
 
                                        g_array_free(res, TRUE);
-                                       i_man->resources[type]->parts = NULL;
-                                       i_man->resources[type]->is_acquired = FALSE;
+                                       i_mgr->resources[type]->parts = NULL;
+                                       i_mgr->resources[type]->is_acquired = FALSE;
 
                                        MM_RM_DEBUG("All parts of %s are released in RM %"PRIu64,
-                                                       res_name, _mm_rm_hash64(i_man->id));
+                                                       res_name, _mm_rm_hash64(i_mgr->id));
                                } else {
-                                       __add_cb_request(cb_requests, i_man, type, MM_RESOURCE_MANAGER_RES_VOLUME_FULL);
+                                       __add_cb_request(cb_requests, i_mgr, type, MM_RESOURCE_MANAGER_RES_VOLUME_FULL);
 
                                        mm_resource_manager_backend_release(type);
 
-                                       i_man->resources[type]->is_acquired = FALSE;
+                                       i_mgr->resources[type]->is_acquired = FALSE;
 
                                        MM_RM_DEBUG("Full resource %s is released in RM %"PRIu64" available volume %d",
-                                               res_name, _mm_rm_hash64(i_man->id), conf->max_volume[type]);
+                                               res_name, _mm_rm_hash64(i_mgr->id), conf->max_volume[type]);
                                }
                        }
                } else {
@@ -572,11 +572,11 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                conf->max_instance[type], volume, conf->max_volume[type], res_name);
 
                        for (i = 0; i < managers->len; i++) {
-                               i_man = (mm_resource_manager_dmn_p)managers->pdata[i];
-                               res = i_man->resources[type]->parts;
+                               i_mgr = (mm_resource_manager_dmn_p)managers->pdata[i];
+                               res = i_mgr->resources[type]->parts;
 
-                               if (!i_man->resources[type]->is_acquired || res ||
-                                       conf->priority[i_man->app_class] > conf->priority[manager->app_class]) {
+                               if (!i_mgr->resources[type]->is_acquired || res ||
+                                       conf->priority[i_mgr->app_class] > conf->priority[manager->app_class]) {
 
                                        if (conf->volume_would_be_checked[type] && conf->max_volume[type] >= 0 && !res) {
                                                conf->max_volume[type] -= volume;
@@ -586,15 +586,15 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                        if (conf->max_instance[type] > 0 && conf->max_instance[type] == res_count[type]
                                                && !is_released_called_once) {
                                                for (j = 0; j < managers->len; j++) {
-                                                       j_man = (mm_resource_manager_dmn_p)managers->pdata[j];
-                                                       res = j_man->resources[type]->parts;
+                                                       j_mgr = (mm_resource_manager_dmn_p)managers->pdata[j];
+                                                       res = j_mgr->resources[type]->parts;
 
-                                                       if (res && !j_man->would_be_released) {
+                                                       if (res && !j_mgr->would_be_released) {
                                                                MM_RM_INFO("[#%d] [#%d / #%d] would be released %s in RM %"PRIu64,
-                                                               managers->len, j + 1, res->len, res_name, _mm_rm_hash64(j_man->id));
+                                                               managers->len, j + 1, res->len, res_name, _mm_rm_hash64(j_mgr->id));
 
-                                                               j_man->would_be_released = TRUE;
-                                                               __add_cb_request(cb_requests, j_man, type,
+                                                               j_mgr->would_be_released = TRUE;
+                                                               __add_cb_request(cb_requests, j_mgr, type,
                                                                                g_array_index(res, mm_resource_manager_res_volume, 0));
 
                                                                mm_resource_manager_backend_release(type);
@@ -607,7 +607,7 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                        if (conf->max_instance[type] > 0 && !res)
                                                res_count[type]++;
 
-                                       i_man->resources[type]->is_acquired = TRUE;
+                                       i_mgr->resources[type]->is_acquired = TRUE;
 
                                        if (conf->max_instance[type] < res_count[type])
                                                break;
@@ -615,19 +615,19 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                                        if (conf->volume_would_be_checked[type] && conf->max_volume[type] < 0
                                                && acquired_volume < volume) {
                                                for (j = 0; j < managers->len; j++) {
-                                                       j_man = (mm_resource_manager_dmn_p)managers->pdata[j];
-                                                       res = j_man->resources[type]->parts;
+                                                       j_mgr = (mm_resource_manager_dmn_p)managers->pdata[j];
+                                                       res = j_mgr->resources[type]->parts;
 
-                                                       if (j_man->would_be_released)
+                                                       if (j_mgr->would_be_released)
                                                                continue;
 
                                                        acquired_volume += g_array_index(res, mm_resource_manager_res_volume, 0);
                                                        MM_RM_INFO("[#%d] [#%d / #%d] There are %d units of %s in RM %"PRIu64,
                                                                managers->len, j + 1, res->len, acquired_volume, res_name,
-                                                               _mm_rm_hash64(j_man->id));
+                                                               _mm_rm_hash64(j_mgr->id));
 
-                                                       j_man->would_be_released = TRUE;
-                                                       __add_cb_request(cb_requests, j_man, type,
+                                                       j_mgr->would_be_released = TRUE;
+                                                       __add_cb_request(cb_requests, j_mgr, type,
                                                                g_array_index(res, mm_resource_manager_res_volume, 0));
 
                                                        mm_resource_manager_backend_release(type);
@@ -654,7 +654,6 @@ static GArray *__handle_acquire_requests(mm_resource_manager_dmn_p manager,
                mm_resource_manager_backend_acquire(type);
        }
 
-       manager->is_acquired = TRUE;
        return cb_requests;
 }
 
@@ -665,7 +664,7 @@ static void __handle_release_callbacks(GArray *requests)
        mm_resource_manager_dmn_release_cb_request_s *request;
        mm_resource_manager_res_type_e type = MM_RESOURCE_MANAGER_RES_TYPE_MAX;
        mm_resource_manager_res_volume volume = MM_RESOURCE_MANAGER_RES_VOLUME_FULL;
-       mm_resource_manager_dmn_p man = NULL;
+       mm_resource_manager_dmn_p mgr = NULL;
        mm_resource_manager_conf_s *conf = mm_resource_manager_get_conf();
 
        MM_RM_RETM_IF(requests == NULL, "requests is NULL");
@@ -673,19 +672,19 @@ static void __handle_release_callbacks(GArray *requests)
 
        for (i = 0; i < requests->len; i++) {
                request = &g_array_index(requests, mm_resource_manager_dmn_release_cb_request_s, i);
-               man = request->manager;
+               mgr = request->manager;
 
-               if (!man->is_acquired)
+               if (!mgr->is_acquired)
                        continue;
 
-               id = man->id;
+               id = mgr->id;
                MM_RM_HASH64(id);
 
                type = request->type;
                volume = request->volume;
 
                MM_RM_INFO("Sending release callback to [man %p acquired %d] RM #%"PRIu64" for %s of volume %d",
-                               man, man->is_acquired, id, _mm_resource_manager_get_res_str(type), volume);
+                               mgr, mgr->is_acquired, id, _mm_resource_manager_get_res_str(type), volume);
 
                _mmrm_dmn_dbus_release_callback(id, type, volume);
                if (__wait_for_release_cb_sync(id))
@@ -702,8 +701,6 @@ static void __handle_release_callbacks(GArray *requests)
                        res_count[type]--;
                        MM_RM_INFO("The number of type %d #%d", type, res_count[type]);
                }
-
-               man->is_acquired = FALSE;
        }
 }
 
@@ -803,8 +800,7 @@ static gboolean __wait_for_release_cb_sync(mm_resource_manager_id id)
                         * the next sync.
                         */
                        sync.revents = 0;
-                       if (poll(&sync, 1, RELEASE_CB_SYNC_TIMEOUT * 1000) == 0
-                               || (sync.revents & (POLLHUP | POLLERR)) == 0)
+                       if (poll(&sync, 1, RELEASE_CB_SYNC_TIMEOUT * 1000) == 0 || (sync.revents & (POLLHUP | POLLERR)) == 0)
                                MM_RM_ERROR("The client didn't close the FIFO");
                } else {
                        MM_RM_ERROR("Read is failed (revents=%hd,read_size=%zd)", sync.revents, read_size);
index b28abe0..db1689d 100644 (file)
@@ -923,7 +923,7 @@ static int __dbus_commit(mm_resource_manager_s *handle)
                                g_ptr_array_remove_index_fast(handle->resources, i--);
                                break;
                        default:
-                               ;
+                               break;
                        }
                }
        } else if (rm_error == MM_RESOURCE_MANAGER_ERROR_LOW_PRIORITY) {