From 9485fe3b7cae0f4a9f4163f380c1d07448a68e43 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 15 Feb 2018 11:43:08 +0100 Subject: [PATCH] meson: add -Dmemory-accounting-default=true|false This makes it easy to set the default for distributions and users which want to default to off because they primarily use older kernels. --- NEWS | 18 +++++++++--------- meson.build | 5 +++++ meson_options.txt | 2 ++ src/core/meson.build | 6 +++--- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index df552f5f8..7f780f000 100644 --- a/NEWS +++ b/NEWS @@ -6,15 +6,15 @@ CHANGES WITH 238 in spe: discussions with the upstream control group maintainers we learnt that the negative impact of cgroup memory accounting on current kernels is finally relatively minimal, so that it should be safe to - enable this by default without affecting system performance too - much. Besides memory accounting only tasks accounting is turned on by - default, all other forms of resource accounting (CPU, IO, IP) remain - off for now, because it's not clear yet that their impact is small - enough to move from opt-in to opt-out for them, too. We recommend - downstreams to leave memory accounting on by default, however in some - situations it might be wise to revert this change of defaults, in - particular on very resource constrained systems or when support for - old kernels is a necessity. + enable this by default without affecting system performance. Besides + memory accounting only task accounting is turned on by default, all + other forms of resource accounting (CPU, IO, IP) remain off for now, + because it's not clear yet that their impact is small enough to move + from opt-in to opt-out. We recommend downstreams to leave memory + accounting on by default if kernel 4.14 or higher is are primarily + used. On very resource constrained systems or when support for old + kernels is a necessity, -Dmemory-accounting-default=false can be used + to revert this change. CHANGES WITH 237: diff --git a/meson.build b/meson.build index 052a955e6..6d16024c3 100644 --- a/meson.build +++ b/meson.build @@ -218,6 +218,8 @@ if pamconfdir == '' pamconfdir = join_paths(sysconfdir, 'pam.d') endif +memory_accounting_default = get_option('memory-accounting-default') + conf.set_quoted('PKGSYSCONFDIR', pkgsysconfdir) conf.set_quoted('SYSTEM_CONFIG_UNIT_PATH', join_paths(pkgsysconfdir, 'system')) #if 0 /// UNNEEDED by elogind @@ -275,6 +277,8 @@ conf.set_quoted('ROOTLIBEXECDIR', rootlibexecdir) # conf.set_quoted('USER_KEYRING_PATH', join_paths(pkgsysconfdir, 'import-pubring.gpg')) # conf.set_quoted('DOCUMENT_ROOT', join_paths(pkgdatadir, 'gatewayd')) #endif // 0 +conf.set('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default ? 'true' : 'false') +conf.set_quoted('MEMORY_ACCOUNTING_DEFAULT_ON_OFF', memory_accounting_default ? 'on' : 'off') conf.set_quoted('ABS_BUILD_DIR', meson.build_root()) conf.set_quoted('ABS_SRC_DIR', meson.source_root()) @@ -321,6 +325,7 @@ substs.set('VARLOGDIR', varlogdir) # substs.set('RC_LOCAL_SCRIPT_PATH_START', get_option('rc-local')) # substs.set('RC_LOCAL_SCRIPT_PATH_STOP', get_option('halt-local')) #endif // 0 +substs.set('MEMORY_ACCOUNTING_DEFAULT', memory_accounting_default ? 'yes' : 'no') ##################################################################### diff --git a/meson_options.txt b/meson_options.txt index 1b863721b..c08325567 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -76,6 +76,8 @@ option('kexec-path', type : 'string', description : 'path to kexec') # description : 'specify the tty device for debug shell') # option('debug', type : 'string', # description : 'enable extra debugging (hashmap,mmap-cache)') +# option('memory-accounting-default', type : 'boolean', +# description : 'enable MemoryAccounting= by default') #else option('debug', type : 'string', description : 'enable extra debugging (elogind,hashmap,mmap-cache)') diff --git a/src/core/meson.build b/src/core/meson.build index 70831dd57..62e3f931c 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -196,7 +196,8 @@ libcore_la_sources = files(''' # # in_files = [['macros.systemd', rpmmacrosdir], # ['triggers.systemd', ''], -# ['systemd.pc', pkgconfigdatadir]] +# ['systemd.pc', pkgconfigdatadir], +# ['system.conf', pkgsysconfdir]] # # foreach item : in_files # file = item[0] @@ -237,8 +238,7 @@ libcore_la_sources = files(''' #endif // 0 #if 0 /// totally UNNEEDED in elogind -# install_data('system.conf', -# 'user.conf', +# install_data('user.conf', # install_dir : pkgsysconfdir) # # meson.add_install_script('sh', '-c', mkdir_p.format(systemshutdowndir)) -- 2.30.2