Set cpu boosting wheh pkg_getsize 98/308298/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Thu, 21 Mar 2024 00:22:39 +0000 (09:22 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Thu, 21 Mar 2024 00:22:39 +0000 (09:22 +0900)
Change-Id: Ie9afc666bddcdda055a6cd5ff0f057e38c0b0c4a
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
CMakeLists.txt
packaging/pkgmgr-tool.spec
src/pkg_getsize/CMakeLists.txt
src/pkg_getsize/pkg_getsize.c

index f8a018f..ed591e3 100644 (file)
@@ -23,6 +23,7 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Mo
 INCLUDE(FindPkgConfig)
 INCLUDE(ApplyPkgConfig)
 
+PKG_CHECK_MODULES(CAPI_SYSTEM_RESOURCE_DEPS REQUIRED capi-system-resource)
 PKG_CHECK_MODULES(DLOG_DEPS REQUIRED dlog)
 PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
 PKG_CHECK_MODULES(GMOCK_DEPS REQUIRED gmock)
index 6ecd927..badb06a 100644 (file)
@@ -13,6 +13,7 @@ Requires:  cryptsetup
 
 BuildRequires:  cmake
 BuildRequires:  gettext-tools
+BuildRequires:  pkgconfig(capi-system-resource)
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(gio-2.0)
 BuildRequires:  pkgconfig(dlog)
index 3e8bce1..26f1ab9 100644 (file)
@@ -8,6 +8,7 @@ ADD_EXECUTABLE(${TARGET_PKG_GETSIZE} ${SRCS})
 
 # Dependency
 APPLY_PKG_CONFIG(${TARGET_PKG_GETSIZE} PUBLIC
+  CAPI_SYSTEM_RESOURCE_DEPS
   PKGMGR_INFO_DEPS
   TZPLATFORM_DEPS
   DLOG_DEPS
index 7efa50d..ab90644 100644 (file)
@@ -35,6 +35,7 @@
 /* For multi-user support */
 #include <tzplatform_config.h>
 
+#include <cpu-boosting.h>
 #include <dlog.h>
 #include <package-manager.h>
 #include <pkgmgr_installer.h>
@@ -819,6 +820,17 @@ int main(int argc, char *argv[])
                return -1;
        }
 
+        pid_t pid = getpid();
+        resource_pid_t res_pid = {
+                .pid = 0,
+                .tid = &pid,
+                .tid_count = 1
+        };
+
+        ret = resource_set_cpu_boosting(res_pid, CPU_BOOSTING_LEVEL_STRONG, 0, -1);
+        if (ret != 0)
+                LOGE("resource_set_cpu_boosting() failed: %d", ret);
+
        pkgid = argv[1];
        get_type = atoi(argv[2]);
        caller_uid = atoi(argv[3]);
@@ -927,5 +939,9 @@ int main(int argc, char *argv[])
        LOGD("get size result = %d", ret);
        pkgmgr_installer_free(pi);
 
+        ret = resource_clear_cpu_boosting(res_pid);
+        if (ret != 0)
+                LOGE("resource_set_cpu_boosting() failed: %d", ret);
+
        return ret;
 }