summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-11-13 19:28:32 +0100
committerLennart Poettering <lennart@poettering.net>2015-11-16 11:57:48 +0100
commit9ded9cd14cc03c67291b10a5c42ce5094ba0912f (patch)
treeb905c1173fa4acb99741210907b15136c3919fdf
parent702d4e6f14b0c92f7325fcdc3650c79c2221849e (diff)
core: enable TasksMax= for all services by default, and set it to 512
Also, enable TasksAccounting= for all services by default, too. See: http://lists.freedesktop.org/archives/systemd-devel/2015-November/035006.html
-rw-r--r--man/systemd-system.conf.xml6
-rw-r--r--src/core/main.c4
-rw-r--r--src/core/manager.c3
-rw-r--r--src/core/system.conf4
-rw-r--r--src/test/test-cgroup-mask.c10
5 files changed, 20 insertions, 7 deletions
diff --git a/man/systemd-system.conf.xml b/man/systemd-system.conf.xml
index 0050f24f8e..ead52951da 100644
--- a/man/systemd-system.conf.xml
+++ b/man/systemd-system.conf.xml
@@ -317,7 +317,9 @@
<varname>MemoryAccounting=</varname> and
<varname>TasksAccounting=</varname>. See
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details on the per-unit settings.</para></listitem>
+ for details on the per-unit
+ settings. <varname>DefaulTasksAccounting=</varname> defaults
+ to on, the other three settings to off.</para></listitem>
</varlistentry>
<varlistentry>
@@ -328,7 +330,7 @@
<citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for details. This setting applies to all unit types that
support resource control settings, with the exception of slice
- units.</para></listitem>
+ units. Defaults to 512.</para></listitem>
</varlistentry>
<varlistentry>
diff --git a/src/core/main.c b/src/core/main.c
index f8e1d88335..a09ce0f083 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -125,8 +125,8 @@ static FILE* arg_serialization = NULL;
static bool arg_default_cpu_accounting = false;
static bool arg_default_blockio_accounting = false;
static bool arg_default_memory_accounting = false;
-static bool arg_default_tasks_accounting = false;
-static uint64_t arg_default_tasks_max = (uint64_t) -1;
+static bool arg_default_tasks_accounting = true;
+static uint64_t arg_default_tasks_max = UINT64_C(512);
static void pager_open_if_enabled(void) {
diff --git a/src/core/manager.c b/src/core/manager.c
index fd915d748c..edff6758c5 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -577,7 +577,8 @@ int manager_new(ManagerRunningAs running_as, bool test_run, Manager **_m) {
m->running_as = running_as;
m->exit_code = _MANAGER_EXIT_CODE_INVALID;
m->default_timer_accuracy_usec = USEC_PER_MINUTE;
- m->default_tasks_max = (uint64_t) -1;
+ m->default_tasks_accounting = true;
+ m->default_tasks_max = UINT64_C(512);
/* Prepare log fields we can use for structured logging */
m->unit_log_field = unit_log_fields[running_as];
diff --git a/src/core/system.conf b/src/core/system.conf
index 63bff085eb..e2ded27333 100644
--- a/src/core/system.conf
+++ b/src/core/system.conf
@@ -40,8 +40,8 @@
#DefaultCPUAccounting=no
#DefaultBlockIOAccounting=no
#DefaultMemoryAccounting=no
-#DefaultTasksAccounting=no
-#DefaultTasksMax=
+#DefaultTasksAccounting=yes
+#DefaultTasksMax=512
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
diff --git a/src/test/test-cgroup-mask.c b/src/test/test-cgroup-mask.c
index de6c421b82..85b0d607d6 100644
--- a/src/test/test-cgroup-mask.c
+++ b/src/test/test-cgroup-mask.c
@@ -40,6 +40,16 @@ static int test_cgroup_mask(void) {
puts("manager_new: Permission denied. Skipping test.");
return EXIT_TEST_SKIP;
}
+
+ /* Turn off all kinds of default accouning, so that we can
+ * verify the masks resulting of our configuration and nothing
+ * else. */
+ m->default_cpu_accounting =
+ m->default_memory_accounting =
+ m->default_blockio_accounting =
+ m->default_tasks_accounting = false;
+ m->default_tasks_max = (uint64_t) -1;
+
assert_se(r >= 0);
assert_se(manager_startup(m, serial, fdset) >= 0);