SangYoun Kwak [Wed, 29 Mar 2023 06:25:01 +0000 (15:25 +0900)]
lowmem-controller: Move low memory action from lowmem to controller
For modulization, low memory action is moved from lowmem.c(core) to
lowmem-controller.c(controller) and this action will be assigned to
lowmem.c by the initializer of controller.
Functions which are related to swap_activate_act are moved to controller
as well.
register_notifier and unregister_notifier of
RESOURCED_NOTIFIER_MEM_CONTROL are moved to controller.
Change-Id: Icd0a0c78d660e773221426c585e41ee6c4449ed8
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 29 Mar 2023 04:47:42 +0000 (13:47 +0900)]
lowmem-controller: Move medium memory action from lowmem to controller
For modulization, medium memory action is moved from lowmem.c(core) to
lowmem-controller.c(controller) and this action will be assigned to
lowmem.c by the initializer of controller.
The dedup_act is moved from lowmem.c to controller since it is an action
of medium memory. But this function is also an action of critical
memory. Thus, a part of critical memory actions was replaced with
lowmem_controller_ops.
Change-Id: I04663b904cfd8c1a18008bc45be74abb2cb6fb47
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 23 Mar 2023 10:38:01 +0000 (19:38 +0900)]
lowmem-controller: Move high memory action from lowmem to controller
For modulization, high memory action is moved from lowmem.c(core) to
lowmem-controller.c(controller) and this high memory action will be
assigned to lowmem.c by the initializer of controller.
Change-Id: Ic0f25890ff5372bfde5471bac27c441f19213960
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 23 Mar 2023 08:56:13 +0000 (17:56 +0900)]
lowmem-controller: Modify controller as a module
lowmem-controller was just a library and used by lowmem.c.
lowmem-controller is now a module which is registered to module manager
of resourced and initialized as an independent module.
Change-Id: I207fa4404e076f2555cc00730e79e7c540c898dc
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 22 Mar 2023 07:01:11 +0000 (16:01 +0900)]
lowmem-monitor: Modify monitor as a module
lowmem-monitor was just a library and initialized by lowmem.c using init
function.
lowmem-monitor is now a module which is registered to module manager of
resourced and initialized as an independent module.
lowmem-monitor calculates the memory state with the current available
memory and calls the lowmem_trigger_memory_state_action function with
memory state as a parameter.
lowmem_check_mem_state is a function that calculates memory state with
available memory. This function is used in oom action so it is located
in lowmem.c.
Change-Id: I9a29e7663a1f8a3ec7bf388f65c2cc97e87f5f48
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 15 Feb 2023 09:04:33 +0000 (18:04 +0900)]
lowmem-governor: Move governor to plugin-backend
lowmem-governor was moved from lowmem to plugin-backend-resourced.
lowmem module can use governor through the functions of
plugin-resourced.
* "plugin_resourced_memory_lmk_get_kill_candidates" is a function of
the plugin-backend-resourced. Kill candidates can be retrieved using
this function.
* plugin-api-resourced was added to the BuildRequires.
Change-Id: I3d010ee15cf74447ce4a354808bb662674670972
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 29 Mar 2023 10:23:37 +0000 (19:23 +0900)]
lowmem-governor: Modify governor as a module
Since the lowmem-governor is separated from lowmem.c in functional
manner, it is better to modulize the lowmem-governor to reduce
dependency.
lowmem.c uses lowmem_governor_ops to use governor and
lowmem_governor_ops is initialized by the lowmem-governor.
lowmem-governor.h is removed since it is not used directly.
Change-Id: I177d847dd8010a9c66f970f2b7aec53f06210740
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Tue, 4 Apr 2023 09:27:43 +0000 (18:27 +0900)]
module: Add a new entry to the priority of modules
A new entry, MODULE_PRIORITY_INITIAL is added to the enum of
module_priority.
This priority is added for the reason below:
* Since the 'lowmem' module has MODULE_PRIORITY_EARLY as its priority,
modules separated from 'lowmem' module should be initialized before
MODULE_PRIORITY_HIGH but after MODULE_PRIORITY_EARLY.
Thus, the newly added priority MODULE_PRIORITY_INITIAL will be used by
modules which need to be initialized before all other modules but after
MODULE_PRIORITY_EARLY.
Change-Id: I07f31f05c5b8851de14a8461504ce04784b6722f
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Tue, 4 Apr 2023 08:04:32 +0000 (17:04 +0900)]
module: Refactor to use lists per priorities
The 'module' feature in resourced manages the modules.
Previously, it used one list to manage modules, so it has to check the
all modules in list to find which was looking for.
In this patch, the 'module' uses separate lists per priorities.
Since the lists of modules are classified by its priority, modules with
specific priority can be found without iterating all lists.
Entries of the 'enum module_priority' are added to make it easy to
iterate through the priorities. (These values are not a priority value)
* MODULE_PRIORITY_MIN = -1
* MODULE_PRIORITY_MAX
Change-Id: I7d620d03f1245ed589ea3753a474895f8b232468
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Unsung Lee [Fri, 31 Mar 2023 02:44:45 +0000 (11:44 +0900)]
resourced.spec: Undo modification of light package
This patch includes
- Making a symbolic link from resourced to resourced.common
- Adding a symbolic link in the light/bin package
This patch undo part of commit
82b39f9c50adcf1d3dbd3bcb90db9eb1e2fe6427.
Change-Id: I9ce3134a1ecc4861cae616fbe823c6fec98f89b9
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
SangYoun Kwak [Thu, 16 Feb 2023 02:38:34 +0000 (11:38 +0900)]
lowmem-governor: Refactor to use the governor independently
The governor was modified to use it independently.
* The lists of apps/procs will be created by lowmem.c, and it will be
passed to the governor(lowmem_governor_get_kill_candidates).
* The governor will make an array(candidates) of "filtered and sorted".
It consists of "struct task_info *".
* The "struct task_info" was modified to store some informations from
proc_app_info for governor. Also the pointer of oom_killed from
proc_app_info was added for the killer.
* According to the above change, killer of lowmem-controller.c was
modified.
* Codes that depend on resourced was removed from governor to lowmem.c.
Change-Id: I1350f2b511d13e3dc7cb1b2efb9e37bc62381275
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Unsung Lee [Thu, 16 Feb 2023 06:39:01 +0000 (15:39 +0900)]
process: Support fixed oom for app via Private config
This patch includes
- Parsing config from Private Section (config-parser.c/h)
- Elimination of old style fixed oom config (proc.conf, README)
- Replacement of oom_fixed_app_list using fixed_app_list
(a.k.a. an hashtable which manages all apps in the Private Section)
Difference between old style fixed oom config and the current one
- old style: Add app name directly in the common configuration file
- the current style: Add app name in the Private Section (xxx.conf.d/yyy.conf)
That is, any developer can add new configurations with making
private conf files.
Change-Id: I367f6b6e0a7315c1e84b1b3871f6bb7bcc4a005a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 16 Feb 2023 06:15:18 +0000 (15:15 +0900)]
cpu-sched: Fix memory leak when loading the cpu affinity config
'name' value will not be freed when 'name' string is different from
'ForegroundApps' (return without free issue)
Change-Id: I5a2ef92944f16f518e40acb9d43285d9df3db1c6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 13 Feb 2023 06:11:30 +0000 (15:11 +0900)]
cpu-sched: Optimize search for cpu affinity fixed app
This patch includes
- Change serach for fixed cpu affnity apps
(using the hashtable of apps by calling
'fixed_app_and_service_exist_check(name, APP_TYPE) func')
resourced manages all per-app configurations
('Private' section) using a hashtable.
On the other hand, resourced (cpu-sched) managed cpu affinity fixed apps
using a list instead of hashtable.
That is, when resourced (cpu-sched) detects app launch or app status change,
it searches the list linearly to know whether the app requires fixed cpu affinity or not.
(Linear search is normally slow when app list size is big)
resourced (cpu-shced) will
- use the hastable of the per-app configuration when searching an app
- use the legacy list to apply something to all fixed cpu affinity apps
Change-Id: I9340e1e7c6796463625660780b82f30c7a91a025
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 9 Feb 2023 02:32:19 +0000 (11:32 +0900)]
cpu-sched: Support cpu affinity pinning for App
This patch includes:
- Parse configuration(s) of per app cpu affinity (config-parser.c/h)
- Update of README to reflect per App cpu affinity (README)
- Register cpu affinity fixed app in the list (cpu-sched.c)
- Read /sys/devices/system/cpu/online to know onlie cpuset and
reflect the current online cpuset info to cpuset cgroup
Per app cpu affinity pinning is different from foreground cpu affinity
- foreground cpu affinity: pinning cpu affinity for foreground status apps
* foreground app status detect -> pinning cpu affinity
- per App cpu affinity: pinning cpu affinity for fixed apps
regardless of app status
* app launch detect -> pinning cpu affinity
Change-Id: Ibef926c5b40049ce00b97cf2ba74f83784efdccd
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 7 Feb 2023 07:00:18 +0000 (16:00 +0900)]
cpu-sched: Refactor common cpu affinity code
This patch includes
- Refactoring of cpu-sched related code
* 'cpu_sched_parse_cpuset' and 'cpu_shced_new_core' functions are moved
from cpu-sched.c to config-parser.c/h
* Cpu common data structure (i.e., 'coreset' and 'core') is moved
from cpu-sched.c to cpu-common.h
* Comments are modified
- Renaming variable
* Data structure: 'core' -> 'cpu_info' and 'coreset' -> 'cpuset_info'
* Element: 'id' -> 'cpu_id' and 'on' -> 'online'
* Other: minor change (such as local variable)
Change-Id: I1d04ee9c33b93f5f82504815c4344c2d472e25b8
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
SangYoun Kwak [Wed, 1 Feb 2023 09:10:41 +0000 (18:10 +0900)]
lowmem-controller: Split up lowmem-controller feature from lowmem module
The lowmem-controller.c was created by extracting the killing-process
feature from lowmem.c.
* Newly created: lowmem-controller.c, lowmem-controller.h
* "lowmem_controller_kill_candidates" function of
lowmem-controller.c kills procs/apps from candidates list provided
by the core(lowmem.c).
* Symbols used only in lowmem-controller.c were moved from lowmem.c
to lowmem-controller.c.
* Symbols used both lowmem.c and lowmem-controller.c were moved from
lowmem.c to lowmem.h.
Change-Id: I8bd0f65acc9df771385c1839096f1283424ce2a5
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 1 Feb 2023 05:27:53 +0000 (14:27 +0900)]
lowmem-monitor: Split up lowmem-monitor feature from lowmem module
The lowmem-monitor.c was created by extracting the monitor feature from
lowmem.c. (The handler of lowmem pressure)
* Newly created: lowmem-monitor.c, lowmem-monitor.h
* "lowmem_monitor_pressure_initialize" function of
lowmem-monitor.c initializes the handler for lowmem pressure.
* Symbols used only in lowmem-monitor.c were moved from lowmem.c to
lowmem-monitor.c.
* The functions used in both lowmem-monitor.c and lowmem.c remain in
lowmem.c and were changed to 'non-static' functions.
Change-Id: I26bad0c629b74e8261393d4f7a1d5ce60a9215ab
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 9 Jan 2023 08:28:23 +0000 (17:28 +0900)]
lowmem: Split up governor from lowmem module
The lowmem-governor.c was created by extracting the
"sorting out kill candidate" functionality from lowmem.c.
* Newly created: lowmem-governor.c, lowmem-governor.h
* "lowmem_governor_get_kill_candidates" function from
lowmem-governor.c gets a list of procs/apps and returns a sorted
list of kill candidates.
* Functions that only used in lowmem-governor.c were moved into
lowmem-governor.c from lowmem.c.
Change-Id: Ieba1612c040a9891e2f87f44e6bd1a34251f05ea
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 30 Jan 2023 05:44:34 +0000 (14:44 +0900)]
process: Add proc.conf to config rpm
"proc.conf" file was added to config rpm, which means "proc.conf" file
can be installed when the platform image is created.
Change-Id: Ided05b12fe05b7e8efd0d36d3951b220b07c486b
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 27 Jan 2023 04:49:49 +0000 (13:49 +0900)]
resource-limiter: Remove unused include
The "file-helper.h" was not used but included in the source code of
lowmem module.
Change-Id: I1d5149b415cb48d6dd43f8c6c02c1b058aa83322
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 27 Jan 2023 02:20:47 +0000 (11:20 +0900)]
resource-monitor: Remove unused includes
Some unused includings in the source file of resource-monitor were
removed.
Change-Id: I2584f083cf00482d3eef121afe6006f13112618b
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 27 Jan 2023 02:14:44 +0000 (11:14 +0900)]
process: Remove unused includes
Some unused includings in the source files of process were removed.
Change-Id: I411e9486b941b533ef057fdfde3aad1294c7a916
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 27 Jan 2023 02:09:08 +0000 (11:09 +0900)]
resourced: Remove unused includes
Some unused includings in the source file of resourced were removed.
Change-Id: Ica3cba7d8cf8a6bc7408d9403562d6d8ed82c06f
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 27 Jan 2023 02:04:02 +0000 (11:04 +0900)]
resource-optimizer: Remove unused includes
Some unused includings in the source files of resource-optimizer were
removed.
Change-Id: Ice4dbd8fac7e6559ccde9ea3d0b4a6ae97462ab5
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 26 Jan 2023 08:11:59 +0000 (17:11 +0900)]
common: Remove unused includes
Some unused includings in the source files of common were removed.
Change-Id: I360fbf1c3a281b3697b3be03445100cc009e2460
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 26 Jan 2023 07:57:57 +0000 (16:57 +0900)]
resource-limiter: Remove unused includes
Some unused includings in the source files of resource-limiter were
removed.
Change-Id: I2f6eb221db364d6cda1af785dfe1a0315d6a207e
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 26 Jan 2023 04:53:57 +0000 (13:53 +0900)]
tests: Remove unused includes
Some unused includings in the source file were removed.
Change-Id: I350cab33dca8c21814037d98492c24043788b499
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 19 Jan 2023 03:25:55 +0000 (12:25 +0900)]
process: Restore OOM_FIXED_APPS
The OOM_FIXED_APPS feature fixes the oom score of some applications
specified specified in the proc.conf file.
This feature was removed as follows(reverse chronological order):
f6c9aab ("Support old style vip cgroup")
ad81bd2 ("Rearrange memory cgroup")
740d0f5 ("Rearrange optimizer configuration")
f2b65a3 ("Update limiter.conf and support realtime")
a3344a9 ("Support per app(service) management")
574bf1b ("Add 'PerProcess' configurations")
36a18bf ("Modify comments & remove useless things")
This feature has been restored by request.
Change-Id: I155a31722f1b5cae446663f690234faee0babe2c
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 9 Jan 2023 03:02:47 +0000 (12:02 +0900)]
Split header file of 'lowmem' module
'lowmem.h' was split into 4 files:
lowmem.h (lowmem.c)
lowmem-dbus.h (lowmem-dbus.c)
lowmem-limit.h (lowmem-limit.c)
lowmem-system.h (lowmem-system.c)
Each header file is a header of its .c file.
As the 'lowmem.h' was split, source files containing
'lowmem.h' were modified.
Change-Id: Ie1f627f9f818fa741bd257f8d9433fb6c4ec7bb3
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 9 Jan 2023 02:29:40 +0000 (11:29 +0900)]
Fix the file names of the module 'lowmem'
The header and source files of 'lowmem' were fixed:
src/resource-limiter/memory/vmpressure-lowmem-handler.c
-> src/resource-limiter/memory/lowmem.c
src/resource-limiter/memory/lowmem-handler.h
-> src/resource-limiter/memory/lowmem.h
As the header(lowmem.h) was renamed, source files
containing 'lowmem-handler.h' were modified.
(#include 'lowmem-handler.h' -> #include 'lowmem.h')
src/process/proc-main.c
src/resource-limiter/memory/lowmem-dbus.c
src/resource-limiter/memory/lowmem-limit.c
src/resource-limiter/memory/lowmem-system.c
src/resource-optimizer/memory/swap/fileswap.c
src/resource-optimizer/memory/swap/zramswap.c
src/resource-optimizer/memory/swap/zswap.c
Change-Id: Ib325c825d23f659aebcf832401023c8a280e25b2
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 9 Jan 2023 02:15:40 +0000 (11:15 +0900)]
Remove unnecessary '#include "lowmem-handler.h"'
In the files below, the "lowmem-handler.h" was included
but its symbols were never used.
src/common/procfs/procfs.c
src/process/proc-priority.c
src/resource-optimizer/memory/dedup.c
src/resource-optimizer/memory/swap/swap.c
src/resourced/init.c
Thus, unnecessary includes were removed.
Change-Id: I6bfa6bb31a27109a797a0857affa66c5a486c68c
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 4 Jan 2023 09:21:26 +0000 (18:21 +0900)]
Modify README of config files
The README of config files was renewed
because its content was out-dated.
Below are the changes:
1. Format
Now the key and value of the properties are described
separately.
For more accurate explanation, keys and values are described
using regular expression.
2. Contents were renewed about files below(config for common):
limiter.conf
optimizer.conf
monitor.conf
process.conf
3. Contents were added(config for each app):
limiter.conf.d/*.conf
optimizer.conf.d/*.conf
process.conf.d/*.conf
vip-process.d/*.conf
Change-Id: I585f6382b1ddff6d1458586a05b5fe92cf715b91
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Unsung Lee [Thu, 29 Sep 2022 02:48:28 +0000 (11:48 +0900)]
fd-handler: add context information
Change-Id: I11f4049f4141a6c87235b7b65ab6a7a101cb2abc
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 27 Sep 2022 04:48:12 +0000 (13:48 +0900)]
cpu-boosting: check return value of 'unlink'
Change-Id: Ia21839c980a252309546f6f9ea7fc588f57ec03c
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 27 Sep 2022 02:59:20 +0000 (11:59 +0900)]
Mount watchdog cgroup early
Change-Id: I3124c7a6fb97e98fa3fa11f30d765de741e199fa
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 23 Sep 2022 05:43:18 +0000 (14:43 +0900)]
Turn on heart-cpu for tct
Change-Id: Ifce9a9881194450320788a6d249bb0763e7c5925
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 7 Sep 2022 03:00:23 +0000 (12:00 +0900)]
Fix Coverity reported bugs
Change-Id: I18665f0d2e66ef94a05fc055d35c0cce8876d1ec
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 7 Sep 2022 02:17:49 +0000 (11:17 +0900)]
Rename signal name
Change-Id: I1e6fdd50c6894b74d843ba2e375253d36515a444
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 29 Aug 2022 10:17:36 +0000 (19:17 +0900)]
Fix memory size of dest_process
Change-Id: Ibc27ad11c958ae000391381d6c90ed00106bb36f
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 29 Aug 2022 04:54:18 +0000 (13:54 +0900)]
Increase MemLimit of resourced
ASAN-enabled image requires more memory
Change-Id: I8ff8b2c628021865437344ff031a07d121c59c65
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 29 Aug 2022 01:35:45 +0000 (10:35 +0900)]
Fix SVACE reported bugs
Change-Id: Iffde2d9dcc0b5a76f28e1ac899f673f9417bf89c
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 26 Aug 2022 04:48:12 +0000 (13:48 +0900)]
Fix Coverity reported bugs
Change-Id: I639b29f936bf3b9bdf5bab7da71008336a4b7fd6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 16 Aug 2022 11:18:12 +0000 (20:18 +0900)]
Rearrange files and directories
Change-Id: I2fd8069de754a50f9c2f3094ac87dcd014d4b44a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 10 Aug 2022 09:01:03 +0000 (18:01 +0900)]
cpu-boosting: add (un)register and get/set inherit
Change-Id: I99fa6e6aba0ecd59b731b089245e63d4d3c156bd
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 26 Jul 2022 02:40:42 +0000 (11:40 +0900)]
Fix SVACE reported bugs
Change-Id: Ib1dd6764373e52fda332b7bdebbc55b5178e6045
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 22 Jul 2022 08:02:28 +0000 (17:02 +0900)]
Rename flag -> flags
Change-Id: I85bd5311936f7e3feb0890a352d9a50c0a063867
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 22 Jul 2022 06:01:34 +0000 (15:01 +0900)]
Do not make backups for original policy, privilege
Change-Id: Iba447a08455780d898718b709b8fb9dffba2a693
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 22 Jul 2022 03:51:19 +0000 (12:51 +0900)]
Support CPU_BOOSTING_RESET_ON_FORK
Change-Id: Ic494e5bee8a082aa629af47c1af73d333c340c58
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 18 Jul 2022 11:43:54 +0000 (20:43 +0900)]
Modify conf value
Change-Id: I2a9ebb74f0f8580f0b6b554a7aa399db424ce59a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 15 Jul 2022 05:03:11 +0000 (14:03 +0900)]
Delegate socket activation to a booster thread
Change-Id: Ie9d2e928f60b8d1322f73697c459a8f74d80b22e
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 13 Jul 2022 07:10:25 +0000 (16:10 +0900)]
Deactivate exit-on-close and activate SIGTERM
Change-Id: I8e56f20367dd71d06f1d2c11f05534cdb3349795
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 12 Jul 2022 08:55:40 +0000 (17:55 +0900)]
cpu-boosting: implement get func
+ separate set and clear funcs
Change-Id: I320824c23092d5b4ae0eff23559ab1dbc38f098a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 12 Jul 2022 08:00:37 +0000 (17:00 +0900)]
Fix a bug referenced a dangling pointer
Change-Id: I9db99145b0b07c077e86eb972d4a511f5288e203
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 6 Jul 2022 01:43:33 +0000 (10:43 +0900)]
Fix Coverity reported bugs
Change-Id: I775471ffdb69309113e245963260ddc747f57b5d
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 5 Jul 2022 08:39:15 +0000 (17:39 +0900)]
Support old style vip cgroup
+ add Process type of configuration
Change-Id: Idcc4b1a6da27160a9c164699006cabe17a72cdef
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 30 Jun 2022 05:18:37 +0000 (14:18 +0900)]
Skip send a reply for set and clear boosting
Change-Id: I771b1580acd309294e18e6f47eb613dd5d0e8eeb
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 30 Jun 2022 04:59:29 +0000 (13:59 +0900)]
Modify optimizer.conf
+ update /sys/fs/cgroup/cpu/cpu.rt_runtime_us and cpu.rt_period_us
Change-Id: Ia59d864ac980c39512b8b61971c966c304390f60
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 29 Jun 2022 04:32:47 +0000 (13:32 +0900)]
Reference a cpu-boosting-private.h header file
Change-Id: If57326e36153a150b317c39eaa9c9e067a03e485
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 28 Jun 2022 11:05:49 +0000 (20:05 +0900)]
Apply systemd socket activation for resourced
+ implement socket-based cpu-boosting (set and clear)
Change-Id: Idb626bf48ab2a69747365fff8f75e5deec504af6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Youngjae Cho [Tue, 28 Jun 2022 08:37:44 +0000 (17:37 +0900)]
conf: enable heart battery for web tct
Change-Id: Ieb32b117a56c2cdf4736bf55f57f3206af21d871
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
Unsung Lee [Fri, 17 Jun 2022 10:29:01 +0000 (19:29 +0900)]
cpu-boosting: implement set and clear funcs
Change-Id: Id75c4da4be7e809399d41bdda5a2ead6893ffefb
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 15 Jun 2022 04:05:09 +0000 (13:05 +0900)]
cpu-boosting: parse CpuBoostingLevel conf
Change-Id: I7f3accb4d20d1a51b172157510bcfcf8ef8b05a8
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 14 Jun 2022 05:17:38 +0000 (14:17 +0900)]
Delete the case where error(warn) logs are called
Change-Id: Iaad90b42ca761534221984b0bec7345f793c8067
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 13 Jun 2022 07:57:52 +0000 (16:57 +0900)]
swap: skip setting hard limit on top (memory) cgroup
Change-Id: I677458716c54a11fb6a1360976a4e32091828274
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 13 Jun 2022 07:25:01 +0000 (16:25 +0900)]
conf: update MemoryLevelThreshold, MemoryDedup, and MemoryCompaction
Change-Id: I24e08743e909a94b91dc1077f3a48fa1e1664d00
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 13 Jun 2022 06:01:43 +0000 (15:01 +0900)]
conf: apply CpuThrottling first and CpuSched next
Change-Id: I74985dca4b44d2020420fbc364d48df1c523a7c3
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 8 Jun 2022 05:10:19 +0000 (14:10 +0900)]
Rearrange memory cgroup
Change-Id: I8793e6bbb85f0f8dfc94be0980dd5c642c266742
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Hyotaek Shim [Wed, 25 May 2022 02:01:27 +0000 (02:01 +0000)]
Revert "Temporarily disable ServicePerAppLimitAction"
This reverts commit
a356c270c0e197007a51888c09ef730e8fb656bf.
Change-Id: I332e27e9dec68447eac91954d068194d34b78b05
Unsung Lee [Fri, 20 May 2022 01:43:54 +0000 (10:43 +0900)]
Support resourced early boot
Change-Id: I5140217ac049f65a81cd622cc23597caf34dfd22
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 16 May 2022 09:16:53 +0000 (18:16 +0900)]
Support CPU throttling
Change-Id: Icfa85a3228e9eaf0f94605561ac15f870d829641
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 16 May 2022 08:55:05 +0000 (17:55 +0900)]
Rearrange optimizer configuration
modify cpu cgroup code
modify optimizer (swap, dedup, compact) code
Change-Id: I1df1842fc410ab448ad7fe21654449082885de3a
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 16 May 2022 08:08:47 +0000 (17:08 +0900)]
Move cpu hotplug
from limiter to optimizer
Change-Id: I4d816c6890bb418fe0532e34f2fa3a88de9d5d33
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 12 May 2022 08:07:26 +0000 (17:07 +0900)]
Rearrange cgroup (memory, cpu)
cpu: Throttling
memory: High-Medium-Lowest
Change-Id: I4eac7354b3e72200c9e8db0b125674f2fde21160
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Hyotaek Shim [Tue, 10 May 2022 02:30:05 +0000 (11:30 +0900)]
Temporarily disable ServicePerAppLimitAction
Change-Id: I6b8e9e7433e70173a29fd172e4ca3f36fef05e95
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Unsung Lee [Tue, 3 May 2022 01:25:11 +0000 (10:25 +0900)]
Fix bugs reported at Coverity
Change-Id: I53d75552aa0c0a580c816934de5952017999fbfe
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 2 May 2022 02:15:13 +0000 (11:15 +0900)]
Fix bugs reported at SVACE
Change-Id: I588c3329a85139967e28224bcb346adec7a76ce6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 28 Apr 2022 03:36:04 +0000 (12:36 +0900)]
Fix a memory bug
pass a pids_array pointer instead of memory_limit_event
structure argument to liveness_check_cb function
Change-Id: I79f48df22fa96129f89fc76f3460ae59a9366e32
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 26 Apr 2022 03:23:47 +0000 (12:23 +0900)]
Rearrange configuration files & Modify the spec file
Change-Id: If5dbc07a1387c93d56a4ab76bf1dfbf3919127a8
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 22 Apr 2022 05:47:56 +0000 (14:47 +0900)]
Add unit(in variable) & fix bugs
add unit in all variables (specially, time and memory)
fix incorrectly used units
Change-Id: I8eb1c29b6682e1f9c832e89b09320b31f881df8c
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 15 Apr 2022 07:08:58 +0000 (16:08 +0900)]
Fix a bug(event handler)
remove useless cgroup event handlers
Change-Id: If369bee2e44514d65609eddfc4a7abfe0cd1e6e0
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 13 Apr 2022 08:50:58 +0000 (17:50 +0900)]
Remove useless source code
remove bgreclaim when lcd is turned off
Change-Id: If734d6975b18efeb53242a0e52000c29c4d069d3
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 12 Apr 2022 09:08:59 +0000 (18:08 +0900)]
Update submodule name in logs
Change-Id: I85875e3a30c45021d9b8337100a2881a1dc342f7
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 12 Apr 2022 01:35:19 +0000 (10:35 +0900)]
Modify bugs on configuration
Modify bugs on memory and cpu cgrups of per app or service
Update each configurations
Change-Id: Ide9810e1250b85d375b1881d9b087f0712d5ae45
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 8 Apr 2022 06:05:20 +0000 (15:05 +0900)]
Update limiter.conf and support realtime
Change-Id: Ic5a2200d2c0f6d03fe935e9ccdb19257c8894b34
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 5 Apr 2022 05:01:29 +0000 (14:01 +0900)]
Add 'CpuSched' & Rearrange 'Swap' sections
parse and apply configurations in 'CpuSched' section
move a 'Swap' parser function to config-parser.c
Change-Id: Iec516cc9d7c2fa1019f69b676ebf197657c42439
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 4 Apr 2022 06:30:56 +0000 (15:30 +0900)]
Rearrange code and conf
move CpuAffinity from limiter to optimizer
rename section in optimizer.conf
Change-Id: I77cad6d01a0a2d78b43b8e9eb31eb5df7c3a93d7
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 30 Mar 2022 12:28:57 +0000 (21:28 +0900)]
Remove useless source code
remove useless code including indent
Change-Id: I5a96a373c462aee523ea072c66e2f2f78f5fd25d
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Wed, 30 Mar 2022 11:30:49 +0000 (20:30 +0900)]
Fix a bug & remove useless logs
fix an overflow bug
remove logs inserted for the test
Change-Id: I4e060ff0e4681ea6f7041eea02bd0c42e4414ffb
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Thu, 24 Mar 2022 03:05:59 +0000 (12:05 +0900)]
Implement configurations on optimizer.conf
Change-Id: I3c5dd1fcde82d579e5923e48cc885494809b2902
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 22 Mar 2022 10:58:08 +0000 (19:58 +0900)]
Parse a new style in optimizer.conf
Change-Id: I67d514d692a02e8927cb7df810f92698d0c8f7d2
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 22 Mar 2022 05:44:41 +0000 (14:44 +0900)]
Implement configurations on limiter.conf
Change-Id: I590d078f751869d75e75ae0359b67b4d284bb5b5
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Sat, 19 Mar 2022 07:06:39 +0000 (16:06 +0900)]
Parse a new style limiter.conf
Change-Id: If26c133d2372b097575002c2b4c90404e96b09d5
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 15 Mar 2022 11:09:58 +0000 (20:09 +0900)]
Rename memory state and rearrange code
Change-Id: I09961cc9ed126a79920a1688119ce1e245479a34
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 15 Mar 2022 07:32:51 +0000 (16:32 +0900)]
Enhance exception handling of memlimit
consider panic on oom case
Change-Id: Ie609129858b035b3e2a14a69d1ff834c1b1c3563
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 14 Mar 2022 11:44:07 +0000 (20:44 +0900)]
Update memory limit
send SIGTERM and SIGKILL after 2 seconds &
set memory.limit_in_bytes and memory.memsw.limit_in_bytes for safety
Change-Id: I188529ecc1587355716c2eac87ab787a1008d208
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Fri, 11 Mar 2022 03:08:31 +0000 (12:08 +0900)]
Support per app(service) management
Delete old style configuration &
Support per app(service) management
Change-Id: Iabfd9e3e7146f1ace575bf8ee0fd3c65e164961f
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Tue, 22 Feb 2022 05:20:36 +0000 (14:20 +0900)]
Add 'PerProcess' configurations
Change-Id: Ie03df4b237eeaf9bd445cbd0648fd00e58e144b5
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 21 Feb 2022 04:35:47 +0000 (13:35 +0900)]
Fix bugs reported on SVACE
Change-Id: Ibec54113306431ffe8d059d6fb4e22838c4c86b9
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Unsung Lee [Mon, 21 Feb 2022 03:57:57 +0000 (12:57 +0900)]
Parse 'PerProcess' section
Change-Id: If58a8ef63fc88acdb3a9e726068b6697304b7e0f
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>