From 68a96025b1657a10ac66f5197177543af83ae29b Mon Sep 17 00:00:00 2001
From: Ryan Cox <ryan_cox@byu.edu>
Date: Fri, 8 Nov 2013 16:25:20 -0700
Subject: [PATCH] info about cgroups on Debian, et al

---
 doc/html/cgroups.shtml     | 16 +++++++++++++---
 doc/man/man5/cgroup.conf.5 | 10 ++++++++++
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/doc/html/cgroups.shtml b/doc/html/cgroups.shtml
index 7824de40090..82e1149a246 100644
--- a/doc/html/cgroups.shtml
+++ b/doc/html/cgroups.shtml
@@ -28,10 +28,20 @@ the cgroup.</li>
 <li>additional state objects specific to each subsystem.</li>
 </ul>
 </ul>
-<p><b>NOTE:</b> There can be a serious performance problem with memory cgroups
+
+<h2>General Usage Notes</h2>
+<ul>
+<li>There can be a serious performance problem with memory cgroups
 on conventional multi-socket, multi-core nodes in kernels prior to 2.6.38 due
 to contention between processors for a spinlock.  This problem seems to have
-been completely fixed in the 2.6.38 kernel.</p>
+been completely fixed in the 2.6.38 kernel.</li>
+<li>Debian and derivatives (e.g. Ubuntu) usually exclude the memory and memsw
+ (swap) cgroups by default.  To include them, add the following parameters to
+the kernel command line: <pre>cgroup_enable=memory swapaccount=1</pre>
+This can usually be placed in /etc/default/grub inside the
+<i>GRUB_CMDLINE_LINUX</i> variable.  A command such as <i>update-grub</i> must
+be run after updating the file.
+</ul>
 
 <h2>Use of Cgroups in SLURM</h2>
 <p>SLURM provides cgroup versions of a number of plugins.</p>
@@ -174,6 +184,6 @@ the following example.</li>
 </ul>
 <p class="footer"><a href="#top">top</a></p>
 
-<p style="text-align:center;">Last modified 26 October 2012</p>
+<p style="text-align:center;">Last modified 8 November 2013</p>
 
 <!--#include virtual="footer.txt"-->
diff --git a/doc/man/man5/cgroup.conf.5 b/doc/man/man5/cgroup.conf.5
index 65e8eeac4a0..5e9aa2af4d4 100644
--- a/doc/man/man5/cgroup.conf.5
+++ b/doc/man/man5/cgroup.conf.5
@@ -143,6 +143,16 @@ permission to use. The default value is "/etc/slurm/cgroup_allowed_devices_file.
 the file accepts one device per line and it permits lines like /dev/sda* or /dev/cpu/*/*.
 See also an example of this file in etc/allowed_devices_file.conf.example.
 
+.SH "DISTRIBUTION-SPECIFIC NOTES"
+
+.LP
+Debian and derivatives (e.g. Ubuntu) usually exclude the memory and memsw (swap)
+cgroups by default. To include them, add the following parameters to the kernel
+command line: \fBcgroup_enable=memory swapaccount=1\fR
+.LP
+This can usually be placed in /etc/default/grub inside the
+\fBGRUB_CMDLINE_LINUX\fR variable. A command such as update-grub must be run
+after updating the file. 
 
 .SH "EXAMPLE"
 .LP
-- 
GitLab