halapi: common: Add debug log for init/exit/dlopen/dlclose 37/316637/2 accepted/tizen/unified/20241217.171005 accepted/tizen/unified/x/20241218.212016 accepted/tizen/unified/x/asan/20250113.002107
authorChanwoo Choi <cw00.choi@samsung.com>
Mon, 16 Dec 2024 07:50:26 +0000 (16:50 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 16 Dec 2024 08:50:59 +0000 (17:50 +0900)
Add debug log for each init/exit/dlopen/dlclose step to catch the
latency issue.

[Details description of newly added log]
(snip) __get_backend(361) > HAL_MODULE_TBM: Prepare to open HAL backend: (snip)
-> Execute dlopen() and dlsym()
(snip) __get_backend(369) > HAL_MODULE_TBM: Open and Prepare to get HAL backend: (snip)
-> Execute 'init' function on hal-backend
(snip) __get_backend(384) > HAL_MODULE_TBM: Get HAL backend: (snip)

(snip) __put_backend(435) > HAL_MODULE_TBM: Prepare to exit HAL backend: (snip)
-> Execute 'exit' function on hal-backend
(snip) __put_backend(450) > HAL_MODULE_TBM: Exit and prepare to put HAL backend: (snip)
-> Execute dlclose()
(snip) __put_backend(462) > HAL_MODULE_TBM: Put HAL backend: (snip)

Change-Id: I91bfab7317bbe4f4600f5bba0475f85219261c21
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
src/hal-api-common.c

index 19c56416a1128f4453c4a85eafa5ae842553a459..e70f7675711bd87ca72f5cb25cab8aa05f6e9da2 100644 (file)
@@ -201,11 +201,6 @@ static int __open_backend(struct __hal_module_info *info)
                goto err_dlclose;
        }
 
-       _I("%s: Open HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
-               info->module_name, info->backend->name, info->backend->vendor,
-               backend_library_name, info->usage_count,
-               program_invocation_name);
-
        return 0;
 
 err_dlclose:
@@ -222,11 +217,6 @@ static void __close_backend(struct __hal_module_info *info)
        if (!info->backend || !info->handle)
                return;
 
-       _I("%s: Close HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
-               info->module_name, info->backend->name, info->backend->vendor,
-               get_backend_library_name(info), info->usage_count,
-               program_invocation_name);
-
        if (info->handle)
                dlclose(info->handle);
 
@@ -368,10 +358,19 @@ static int __get_backend(enum hal_module module,
                goto err;
        }
 
+       _I("%s: Prepare to open HAL backend: library(%s)/count(%d) by %s\n",
+               info->module_name, get_backend_library_name(info), info->usage_count,
+               program_invocation_name);
+
        ret = __open_backend(info);
        if (ret < 0)
                goto err;
 
+       _I("%s: Open and Prepare to get HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
+               info->module_name, info->backend->name, info->backend->vendor,
+               get_backend_library_name(info), info->usage_count,
+               program_invocation_name);
+
        ret = __init_backend(info, data, user_data, init_backend);
        if (ret < 0) {
                _E("%s: Failed to initialize the backend library\n",
@@ -433,6 +432,11 @@ static int __put_backend(enum hal_module module,
                goto out;
        }
 
+       _I("%s: Prepare to exit HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
+               info->module_name, info->backend->name, info->backend->vendor,
+               get_backend_library_name(info), info->usage_count,
+               program_invocation_name);
+
        ret = __exit_backend(info, data, user_data, exit_backend);
        if (ret < 0) {
                _E("%s: Failed to exit the backend library\n",
@@ -443,7 +447,7 @@ static int __put_backend(enum hal_module module,
 
        info->usage_count--;
 
-       _I("%s: Put HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
+       _I("%s: Exit and Prepare to put HAL backend: name(%s)/vendor(%s)/library(%s)/count(%d) by %s\n",
                info->module_name, info->backend->name, info->backend->vendor,
                get_backend_library_name(info), info->usage_count,
                program_invocation_name);
@@ -454,12 +458,18 @@ static int __put_backend(enum hal_module module,
        }
 
        __close_backend(info);
+
+       _I("%s: Put HAL backend: library(%s)/count(%d) by %s\n",
+               info->module_name, get_backend_library_name(info), info->usage_count,
+               program_invocation_name);
+
        _hal_api_conf_exit();
 
        ret = 0;
 
 out:
        G_UNLOCK(hal_common_lock);
+
        return ret;
 }