summaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorStefan Roesch <shr@devkernel.io>2023-02-28 21:39:35 +0100
committerLennart Poettering <lennart@poettering.net>2023-06-05 11:22:43 +0200
commit85614c6e2fb791b742941a8f98ea1851cf705240 (patch)
tree2a2f24529253d08cb5e8426ca9fec82a56bdcbaa /man
parentchase: fix triggering assertion (diff)
downloadsystemd-85614c6e2fb791b742941a8f98ea1851cf705240.tar.xz
systemd-85614c6e2fb791b742941a8f98ea1851cf705240.zip
add support for KSM
This adds support for KSM (kernel samepage merging). It adds a new boolean parameter called MemoryKSM to enable the feature. The feature can only be enabled with newer kernels.
Diffstat (limited to 'man')
-rw-r--r--man/org.freedesktop.systemd1.xml24
-rw-r--r--man/systemd.exec.xml16
2 files changed, 40 insertions, 0 deletions
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index a08108dd88..70273bbf64 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -3174,6 +3174,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly b MemoryKSM = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@@ -3739,6 +3741,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
<!--property ProtectHostname is not documented!-->
+ <!--property MemoryKSM is not documented!-->
+
<!--property NetworkNamespacePath is not documented!-->
<!--property IPCNamespacePath is not documented!-->
@@ -4405,6 +4409,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
<variablelist class="dbus-property" generated="True" extra-ref="ProtectHostname"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="MemoryKSM"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="NetworkNamespacePath"/>
<variablelist class="dbus-property" generated="True" extra-ref="IPCNamespacePath"/>
@@ -5184,6 +5190,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly b MemoryKSM = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@@ -5761,6 +5769,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
<!--property ProtectHostname is not documented!-->
+ <!--property MemoryKSM is not documented!-->
+
<!--property NetworkNamespacePath is not documented!-->
<!--property IPCNamespacePath is not documented!-->
@@ -6407,6 +6417,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
<variablelist class="dbus-property" generated="True" extra-ref="ProtectHostname"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="MemoryKSM"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="NetworkNamespacePath"/>
<variablelist class="dbus-property" generated="True" extra-ref="IPCNamespacePath"/>
@@ -7061,6 +7073,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly b MemoryKSM = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@@ -7566,6 +7580,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
<!--property ProtectHostname is not documented!-->
+ <!--property MemoryKSM is not documented!-->
+
<!--property NetworkNamespacePath is not documented!-->
<!--property IPCNamespacePath is not documented!-->
@@ -8130,6 +8146,8 @@ node /org/freedesktop/systemd1/unit/home_2emount {
<variablelist class="dbus-property" generated="True" extra-ref="ProtectHostname"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="MemoryKSM"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="NetworkNamespacePath"/>
<variablelist class="dbus-property" generated="True" extra-ref="IPCNamespacePath"/>
@@ -8911,6 +8929,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly b ProtectHostname = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly b MemoryKSM = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s NetworkNamespacePath = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s IPCNamespacePath = '...';
@@ -9402,6 +9422,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
<!--property ProtectHostname is not documented!-->
+ <!--property MemoryKSM is not documented!-->
+
<!--property NetworkNamespacePath is not documented!-->
<!--property IPCNamespacePath is not documented!-->
@@ -9952,6 +9974,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
<variablelist class="dbus-property" generated="True" extra-ref="ProtectHostname"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="MemoryKSM"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="NetworkNamespacePath"/>
<variablelist class="dbus-property" generated="True" extra-ref="IPCNamespacePath"/>
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 3f3ed77f46..9fb6c9b908 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -1774,6 +1774,22 @@ BindReadOnlyPaths=/var/lib/systemd</programlisting>
</varlistentry>
<varlistentry>
+ <term><varname>MemoryKSM=</varname></term>
+
+ <listitem><para>Takes a boolean argument. When set, it enables KSM (kernel samepage merging) for
+ the processes. KSM is a memory-saving de-duplication feature. Anonymous memory pages with identical
+ content can be replaced by a single write-protected page. This feature should only be enabled for
+ jobs that share the same security domain. For details, see
+ <ulink url="https://docs.kernel.org/admin-guide/mm/ksm.html">Kernel Samepage Merging</ulink> in the
+ kernel documentation.</para>
+
+ <para>Note that this functionality might not be available, for example if KSM is disabled in the
+ kernel, or the kernel doesn't support controlling KSM at the process level through
+ <function>prctl()</function>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>PrivateUsers=</varname></term>
<listitem><para>Takes a boolean argument. If true, sets up a new user namespace for the executed processes and