[systemd-devel] [PATCH 1/1] RFC: Set the Default OOM Score from configuration file

2013-04-27 Thread Sangjung Woo
If 'OOMScoreAdjust' option is ommited from unit file, this patch makes
the executed process's oom_score_adj as default OOM score in case of
explicitly 'DefaultOOMScore' is declared in configuration file.
(i.e. system.conf and user.conf)

If the unit file has 'OOMScoreAdjust' option, set the its oom_score_adj
as declared value as before.

Signed-off-by: Sangjung Woo again4...@gmail.com
---
 src/core/main.c  |8 
 src/core/system.conf |1 +
 src/core/user.conf   |1 +
 3 files changed, 10 insertions(+)

diff --git a/src/core/main.c b/src/core/main.c
index 22cec4e..e8bb015 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -90,6 +90,7 @@ static bool arg_confirm_spawn = false;
 static bool arg_show_status = true;
 static bool arg_switched_root = false;
 static char **arg_default_controllers = NULL;
+static char *arg_default_oom_score = NULL;
 static char ***arg_join_controllers = NULL;
 static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL;
 static ExecOutput arg_default_std_error = EXEC_OUTPUT_INHERIT;
@@ -641,6 +642,7 @@ static int parse_config_file(void) {
 { Manager, DefaultStandardOutput, config_parse_output, 
  0, arg_default_std_output  },
 { Manager, DefaultStandardError,  config_parse_output, 
  0, arg_default_std_error   },
 { Manager, JoinControllers,   
config_parse_join_controllers, 0, arg_join_controllers },
+{ Manager, DefaultOOMScore,   config_parse_string, 
  0, arg_default_oom_score   },
 { Manager, RuntimeWatchdogSec,config_parse_sec,
  0, arg_runtime_watchdog},
 { Manager, ShutdownWatchdogSec,   config_parse_sec,
  0, arg_shutdown_watchdog   },
 { Manager, CapabilityBoundingSet, 
config_parse_bounding_set, 0, arg_capability_bounding_set_drop },
@@ -1414,6 +1416,12 @@ int main(int argc, char *argv[]) {
 if (parse_config_file()  0)
 goto finish;
 
+if (arg_default_oom_score)
+if (write_string_file(/proc/self/oom_score_adj, 
arg_default_oom_score)  0){
+log_error(Fail to set default oom_score_adj: %s, 
arg_default_oom_score);
+goto finish;
+}
+
 if (arg_running_as == SYSTEMD_SYSTEM)
 if (parse_proc_cmdline()  0)
 goto finish;
diff --git a/src/core/system.conf b/src/core/system.conf
index 508e0f5..7c0e12e 100644
--- a/src/core/system.conf
+++ b/src/core/system.conf
@@ -41,3 +41,4 @@
 #DefaultLimitNICE=
 #DefaultLimitRTPRIO=
 #DefaultLimitRTTIME=
+#DefaultOOMScore=
diff --git a/src/core/user.conf b/src/core/user.conf
index 4252451..f101e99 100644
--- a/src/core/user.conf
+++ b/src/core/user.conf
@@ -15,3 +15,4 @@
 #DefaultControllers=cpu
 #DefaultStandardOutput=inherit
 #DefaultStandardError=inherit
+#DefaultOOMScore=
-- 
1.7.10.4

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] What Is Cannot Add Dependency Job?

2013-04-27 Thread Garry T. Williams
What is Cannot add dependency job in my log and should I be fixing
something?

dmesg:
--

[1.658225] systemd[1]: Cannot add dependency job for unit 
timers.target, ignoring: Unit timers.target failed to load: No such file or 
directory. See system logs and 'systemctl status timers.target' for details.
[1.658239] systemd[1]: Cannot add dependency job for unit paths.target, 
ignoring: Unit paths.target failed to load: No such file or directory. See 
system logs and 'systemctl status paths.target' for details.

This doesn't seem to help me either:

garry@vfr$ systemctl status timers.target
timers.target - Timers
   Loaded: loaded (/usr/lib/systemd/system/timers.target; static)
   Active: active since Sat 2013-04-27 11:41:54 EDT; 1h 14min ago
 Docs: man:systemd.special(7)

Apr 27 11:42:00 vfr systemd[1]: Starting Timers.
Apr 27 11:42:00 vfr systemd[1]: Reached target Timers.
garry@vfr$ systemctl status paths.target
paths.target - Paths
   Loaded: loaded (/usr/lib/systemd/system/paths.target; static)
   Active: active since Sat 2013-04-27 11:41:54 EDT; 1h 14min ago
 Docs: man:systemd.special(7)

garry@vfr$

This is Fedora 18:

garry@vfr$ uname -r
3.8.9-200.fc18.x86_64
garry@vfr$ rpm -q systemd
systemd-201-2.fc18.2.x86_64
garry@vfr$

-- 
Garry T. Williams

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] What Is Cannot Add Dependency Job?

2013-04-27 Thread Reindl Harald


Am 27.04.2013 20:02, schrieb Garry T. Williams:
 What is Cannot add dependency job in my log and should I be fixing
 something?
 
 dmesg:
 --
 
 [1.658225] systemd[1]: Cannot add dependency job for unit 
 timers.target, ignoring: Unit timers.target failed to load: No such file or 
 directory. See system logs and 'systemctl status timers.target' for details.
 [1.658239] systemd[1]: Cannot add dependency job for unit 
 paths.target, ignoring: Unit paths.target failed to load: No such file or 
 directory. See system logs and 'systemctl status paths.target' for details.

it does not matter at all
https://bugzilla.redhat.com/show_bug.cgi?id=925916#c28



signature.asc
Description: OpenPGP digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel