On Fri, Dec 01, 2017 at 04:01:24PM +1300, Thomas Munro wrote: > Hi hackers, > > The manual implies that only Linux can use huge pages. That is not > true: FreeBSD, Illumos and probably others support larger page sizes > using transparent page coalescing algorithms. On my FreeBSD box > procstat -v often shows PostgreSQL shared buffers in "S"-flagged > memory. I think we should adjust the manual to make clear that it's > the *explicit request for huge pages* that is supported only on Linux > (and hopefully soon Windows). Am I being too pedantic?
I suggest to remove "other" and include Linux in the enumeration, since it also supports "transparent" hugepages. Justin
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 3060597..98d42e5 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1363,7 +1363,7 @@ include_dir 'conf.d' </term> <listitem> <para> - Enables/disables the use of huge memory pages. Valid values are + Controls whether huge memory pages are explicitly requested. Valid values are <literal>try</literal> (the default), <literal>on</literal>, and <literal>off</literal>. </para> @@ -1371,6 +1371,9 @@ include_dir 'conf.d' <para> At present, this feature is supported only on Linux. The setting is ignored on other systems when set to <literal>try</literal>. + Note that some operating systems including Linux, FreeBSD and Illumos + support huge pages (also known as "super" pages or "large" pages) + automatically without an explicit request from PostgreSQL. </para> <para> @@ -1384,7 +1387,7 @@ include_dir 'conf.d' the server will try to use huge pages, but fall back to using normal allocation if that fails. With <literal>on</literal>, failure to use huge pages will prevent the server from starting up. With - <literal>off</literal>, huge pages will not be used. + <literal>off</literal>, huge pages will not be specifically requested. </para> </listitem> </varlistentry>