Permalink
Browse files

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
  • Loading branch information...
poettering committed Nov 13, 2015
1 parent 702d4e6 commit 9ded9cd14cc03c67291b10a5c42ce5094ba0912f
Showing with 20 additions and 7 deletions.
  1. +4 −2 man/systemd-system.conf.xml
  2. +2 −2 src/core/main.c
  3. +2 −1 src/core/manager.c
  4. +2 −2 src/core/system.conf
  5. +10 −0 src/test/test-cgroup-mask.c
@@ -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>
@@ -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) {

@@ -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];
@@ -40,8 +40,8 @@
#DefaultCPUAccounting=no
#DefaultBlockIOAccounting=no
#DefaultMemoryAccounting=no
#DefaultTasksAccounting=no
#DefaultTasksMax=
#DefaultTasksAccounting=yes
#DefaultTasksMax=512
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
@@ -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);

0 comments on commit 9ded9cd

Please sign in to comment.