platform/core/system/plugin/resourced-generic.git
15 months agoRemove unneeded abi_version 37/307937/1 accepted/tizen_9.0_unified accepted/tizen_unified accepted/tizen_unified_dev accepted/tizen_unified_x tizen tizen_9.0 accepted/tizen/9.0/unified/20241030.232612 accepted/tizen/unified/20240318.071402 accepted/tizen/unified/dev/20240620.005755 accepted/tizen/unified/x/20240319.055359 tizen_9.0_m2_release
Chanwoo Choi [Thu, 14 Mar 2024 10:49:22 +0000 (19:49 +0900)]
Remove unneeded abi_version

Change-Id: I0b9dba89fb9a307e00f689738d3c85b19504b8f3
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
21 months agoresourced-cpu-boosting: Check return value of funcs of resource-monitor 67/298767/4 accepted/tizen/8.0/unified/20231005.093834 accepted/tizen/unified/20230914.164939 tizen_8.0_m2_release
Unsung Lee [Wed, 13 Sep 2023 02:17:11 +0000 (11:17 +0900)]
resourced-cpu-boosting: Check return value of funcs of resource-monitor

Check return value of functions of resource-monitor
to avoid passing negative value to a parameter that cannot be negative.

It solves the issue reported by Coverity with cid = 1708157

Change-Id: I975c3e9c31dd0240604ad64878cd21e80b2f4c4f
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresourced-memory-lmk: Remove high working set size app from LMK 79/298379/2 accepted/tizen/unified/20230907.175324
Unsung Lee [Tue, 5 Sep 2023 12:03:54 +0000 (21:03 +0900)]
resourced-memory-lmk: Remove high working set size app from LMK

App that satisfies criteria such as LMK try count and working set size threshold
will be removed from candidates list.

Change-Id: I393e1fadd035183cd17ca99acf31cfb63d637c1e
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresource-memory-lmk: Exclude syscommon-plugin-resourced-memory-lmk.h header 82/298282/1
Unsung Lee [Tue, 5 Sep 2023 01:47:52 +0000 (10:47 +0900)]
resource-memory-lmk: Exclude syscommon-plugin-resourced-memory-lmk.h header

Exclude <system/syscommon-plugin-resourced-memory-lmk.h> header file in
LMK backend to follow rule between libsyscommon and plugin backend.

*.h can be only referenced from resourced. Therefore, resourced backend
cannot reference header file from *.h. Instead, resourced backend can
reference *-interface.h.

Change-Id: I971ee3b2832682a066641151506bfb2ba6e5fa1a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresourced-cpu-boosting: Add is_cpu_busy argument into governor func 49/298249/8 accepted/tizen/unified/20230906.014628
Unsung Lee [Mon, 4 Sep 2023 07:01:47 +0000 (16:01 +0900)]
resourced-cpu-boosting: Add is_cpu_busy argument into governor func

Add is_cpu_busy argument into cpu_boosting_governor_govern_request function
to return whehter system cpu is busy or not.
resourced will use this information to decide whether to ignore stall event.

Change-Id: I66c77f0c7589840fad63973b2319dc1620d07db6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresourced-cpu-boosting: Add is_cpu_contention_alleviated() to check cpu contention 48/298248/3
Unsung Lee [Fri, 1 Sep 2023 06:53:09 +0000 (15:53 +0900)]
resourced-cpu-boosting: Add is_cpu_contention_alleviated() to check cpu contention

Add is_cpu_contention_alleviated to check whether cpu contention is alleviated
for restoring cpu boosting level.

Prototype of new function is like below:
  - bool is_cpu_contention_alleviated(
               guint timer_id, guint latest_timer_id);
    * After a stall event is monitored, a timer with some interval set.
      If no more stall events between setting timer and timeout,
      timer_id is equal to latest_timer_id.

Change-Id: I709414ff982ee08fb8a5465142e552e8e441fe04
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresourced-cpu-boosting: Add is_system_cpu_busy() to check cpu contention 47/298247/3
Unsung Lee [Wed, 30 Aug 2023 08:25:05 +0000 (17:25 +0900)]
resourced-cpu-boosting: Add is_system_cpu_busy() to check cpu contention

Add is_system_cpu_busy() function to check cpu contention. Although stall event
is monitored by resourced, do not change cpu boosting level unless
cpu contention.

Change-Id: Ie6e7287dd1ad3d0596423673bec695439596c29f
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
21 months agoresourced-cpu-boosting: Add cpu boosting governor 32/297132/11
Unsung Lee [Thu, 10 Aug 2023 09:07:21 +0000 (18:07 +0900)]
resourced-cpu-boosting: Add cpu boosting governor

Add cpu boosting governor in resourced plugin backend to govern
boosted thread. This function is called when CPU PSIs are triggered in resourced.
That is, cpu contention is detected in the resourced.
cpu boosting governor figures out the reason of cpu contention, and
make a list actions to handle cpu contention in cpu boosting controller.

The rule of cpu boosting governor is like below:
  - Decrease cpu boosting level of all threads having CPU_BOOSTING_LEVEL_STRONG.
    (CPU_BOOSTING_LEVEL_STRONG -> CPU_BOOSTING_LEVEL_MEDIUM)
  - Decrease cpu boosting level of all threads having CPU_BOOSTING_LEVEL_MEDIUM
    when there is no thread having CPU_BOOSTING_LEVEL_STRONG.
    (CPU_BOOSTING_LEVEL_MEDIUM -> CPU_BOOSTING_LEVEL_WEAK)

A new function called cpu boosting governor is added:
  - int cpu_boosting_governor_govern_request
(const GHashTable *cpu_boosting_info_table,
 cpu_boosting_level_e cpu_boosting_level,
 GSList **cpu_boosting_controller_action);
    * This function receives cpu_boosting_info_table and cpu_boosting_level
      as inputs and gives cpu_boosting_controller_action as an output.
      If return value of this function is not 0,
      then cpu_boosting_controller_action is meaningless.

Change-Id: Ie86c123b6b0f78a2f64857877677b822eda45130
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
22 months agoresourced-memory-lmk: Change policy to put focused app in the last 17/296717/1 accepted/tizen_unified_riscv accepted/tizen/unified/20230809.071914 accepted/tizen/unified/riscv/20230809.013255
Unsung Lee [Thu, 3 Aug 2023 09:26:29 +0000 (18:26 +0900)]
resourced-memory-lmk: Change policy to put focused app in the last

Change policy of get_kill_candidates_post_with_foreground function to put
focused app in the last of candidates list. This is because focused app
is the most important foreground app.

Change-Id: I43f55553a213215c059d1f56dd044b43efa4f790
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
22 months agoresourced-memory-lmk: Reorder foreground app 97/296597/2 accepted/tizen/unified/20230803.174803
Unsung Lee [Tue, 1 Aug 2023 12:14:44 +0000 (21:14 +0900)]
resourced-memory-lmk: Reorder foreground app

Reorder foreground app in psot_with_foreground. This is because some apps
should be excluded from the victim candidates.
Resourced currently puts these apps in the last of candidates list.

Change-Id: I95b38dd7a9a71f4da04e1d90ad1e3f336ec2d7a4
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
22 months agoresourced-memory-lmk: Add a skeleton of get_kill_candidates_post funcs 41/295041/8
Unsung Lee [Fri, 30 Jun 2023 06:16:14 +0000 (15:16 +0900)]
resourced-memory-lmk: Add a skeleton of get_kill_candidates_post funcs

Add a skeleton of three get_kill_candidates_post funcs
(get_kill_candidates_post, get_kill_candidates_post_with_wss, and
get_kill_candidates_post_with_foreground) in resourced-memory-lmk

resourced supports three type of get_kill_candidates_post ops newly
  - int get_kill_candidates_post(GArray *candidates)
    to consider user custom governor policy
  - int get_kill_candidates_post_with_wss(GArray *candidates)
    to consider working set size of app
  - int get_kill_candidates_post_with_foreground(GArray *candidates,
  enum oom_level oom_level)
    to consider window information of app

Change-Id: I9f774c6ff075f48319925c40c772c969ce838d03
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
22 months agoresourced-memory-lmk: Change plugin abi version 7.5 -> 8.0 33/296433/1 accepted/tizen/unified/20230731.175328
Yunhee Seo [Thu, 27 Jul 2023 08:41:36 +0000 (17:41 +0900)]
resourced-memory-lmk: Change plugin abi version 7.5 -> 8.0

As tizen 7.5 is replaced with 8.0, abi version is changed to 8.0.

Change-Id: Ia181f87587d3f3b2ee31f4411bebcc2469678bf0
Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
2 years agoAdd 'backend' to package and .so name 13/293913/1 accepted/tizen/unified/20230608.164356 accepted/tizen/unified/dev/20230801.061616 accepted/tizen/unified/dev/20230801.062822 accepted/tizen/unified/riscv/20230718.024857
SangYoun Kwak [Thu, 8 Jun 2023 05:16:27 +0000 (14:16 +0900)]
Add 'backend' to package and .so name

It is required to add 'backend' keyword to this plugin backend package
and .so name to distinguish this backend package since there are other
packages whose start with 'system-plugin'.

Change-Id: I91e8c531fd07391ea4d8b0207d2bfce2dc772967
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModify names from 'plugin' to 'system plugin' 72/292072/2 accepted/tizen/unified/20230607.160238
SangYoun Kwak [Wed, 26 Apr 2023 04:53:23 +0000 (13:53 +0900)]
Modify names from 'plugin' to 'system plugin'

Since the package name of this repository changed from plugin to system
plugin, every 'plugin' names should be modified to 'system plugin'.
 * plugin_... -> system_plugin
 * plugin-... -> system-plugin
 * PLUGIN_... -> SYSTEM_PLUGIN_...
Includes of plugin-api and their path also changed:
 * plugin/plugin-....h -> system/syscommon-plugin-....h

Change-Id: I79b434a8f5ead9fd3232b440f568755e298a0665
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoresourced-memory-lmk: Modify package name in the comment
SangYoun Kwak [Fri, 14 Apr 2023 01:53:10 +0000 (10:53 +0900)]
resourced-memory-lmk: Modify package name in the comment

Since the package name was changed from plugin-backend-resourced-rpi to
system-plugin-resourced-generic, the package name in the copyright
comment modified.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoRename .spec and package name
SangYoun Kwak [Thu, 13 Apr 2023 01:25:35 +0000 (10:25 +0900)]
Rename .spec and package name

resourced-generic -> system-plugin-resourced-generic
Also modified the summary and the description of this package according
to the package name.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModify the .spec and CMakeLists.txt of resourced-memory-lmk module
SangYoun Kwak [Tue, 11 Apr 2023 10:27:37 +0000 (19:27 +0900)]
Modify the .spec and CMakeLists.txt of resourced-memory-lmk module

Since the path and the name of .so file, .spec file and cmake file for
resourced-memory-lmk are modified.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoRename the .spec/.manifest files
SangYoun Kwak [Tue, 11 Apr 2023 09:40:16 +0000 (18:40 +0900)]
Rename the .spec/.manifest files

Since the repository name has been changed from
plugin-backend-resourced-rpi to resourced-generic, the .spec and
.manifest files should be renamed to their corresponding names.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoresourced-memory-lmk: Remove unnecessary logs
SangYoun Kwak [Mon, 10 Apr 2023 09:17:04 +0000 (18:17 +0900)]
resourced-memory-lmk: Remove unnecessary logs

Some logs were showing meaningless informations:
 * The ratio between candidates->len and task_info_app_array->len, which
   are the same.
 * The Number of processes which are added to the candidate, which is
   same as the number of processes passed to the governor.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoRemove duplicated definition in CMakeLists.txt files
SangYoun Kwak [Fri, 17 Mar 2023 09:47:31 +0000 (18:47 +0900)]
Remove duplicated definition in CMakeLists.txt files

In CMakeLists.txt, ENABLE_DLOG was defined but it is pointless since
another src/resourced-memory-lmk/CMakeLists.txt defines ENABLE_DLOG as
its own name and in the packaging/plugin-backend-resourced-rpi.spec
file, there is no definition of ENABLE_DLOG for cmake.
Thus, the definition of ENABLE_DLOG in CMakeLists.txt was removed.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModified building scripts according to the plugin api
SangYoun Kwak [Mon, 13 Mar 2023 02:01:44 +0000 (11:01 +0900)]
Modified building scripts according to the plugin api

plugin-backend-resourced-rpi.spec
 * BuildRequires for plugin-api-resourced since the package
   plugin-api-resourced was separated from the package libsyscommon.
 * Versioning was changed. (It will start from 0.1.0)
 * Definitions for cmake was rearranged. (remove unused ones)
 * Files to be included to the package were modified.
CMakeLists.txt
 * Installation for the license file was removed since the license file
   will be included through the %file section of the .spec file.
src/resourced-memory-lmk/CMakeLists.txt
 * The package plugin-api-resourced was added.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoresourced-memory-lmk: Modify governor function
SangYoun Kwak [Mon, 6 Mar 2023 08:29:38 +0000 (17:29 +0900)]
resourced-memory-lmk: Modify governor function

The governor function named "get_kill_candidates" was modified since its
usage of resourced was changed.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoresourced-memory-lmk: Add governor function
SangYoun Kwak [Wed, 15 Feb 2023 08:59:04 +0000 (17:59 +0900)]
resourced-memory-lmk: Add governor function

The "get_kill_candidates" function has been added to the
resourced-memory-lmk module.
This function has been separated from lowmem module of resourced.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModify module name, add dlog and add governor
SangYoun Kwak [Fri, 10 Feb 2023 07:52:29 +0000 (16:52 +0900)]
Modify module name, add dlog and add governor

Module name changed.
 * low_memory_killer -> resourced-memory-lmk
 * According to this, the name of library, source directory, source file
   name, and symbols are modified.
Governor source code added.
Dlog feature is added.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModify and add files to make this repository buildable
SangYoun Kwak [Thu, 9 Feb 2023 11:03:09 +0000 (20:03 +0900)]
Modify and add files to make this repository buildable

Files like spec file, cmakelists, license file were added to make this
repository buildable and callable from plugin-resourced.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoFirst commit: Add skeleton files for resourced plugin backend
SangYoun Kwak [Tue, 7 Feb 2023 07:27:45 +0000 (16:27 +0900)]
First commit: Add skeleton files for resourced plugin backend

Skeleton codes for plugin backend.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoInitial empty repository master
Tizen Infrastructure [Thu, 20 Apr 2023 02:25:53 +0000 (02:25 +0000)]
Initial empty repository