Hi--
On 6/24/24 9:33 AM, Jiaqi Yan wrote:
> Add the documentation for soft offline behaviors / costs, and what
> the new enable_soft_offline sysctl is for.
>
> Acked-by: Oscar Salvador <[email protected]>
>
> Signed-off-by: Jiaqi Yan <[email protected]>
> ---
> Documentation/admin-guide/sysctl/vm.rst | 32 +++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/Documentation/admin-guide/sysctl/vm.rst
> b/Documentation/admin-guide/sysctl/vm.rst
> index e86c968a7a0e..71463a7b3e2a 100644
> --- a/Documentation/admin-guide/sysctl/vm.rst
> +++ b/Documentation/admin-guide/sysctl/vm.rst
> @@ -267,6 +268,37 @@ used::
> These are informational only. They do not mean that anything is wrong
> with your system. To disable them, echo 4 (bit 2) into drop_caches.
>
> +enable_soft_offline
> +===================
> +Correctable memory errors are very common on servers. Soft-offline is
> kernel's
> +solution for memory pages having (excessive) corrected memory errors.
> +
> +For different types of page, soft-offline has different behaviors / costs.
> +- For a raw error page, soft-offline migrates the in-use page's content to
> + a new raw page.
> +- For a page that is part of a transparent hugepage, soft-offline splits the
Use only one space after the comma ...................^
> + transparent hugepage into raw pages, then migrates only the raw error page.
> + As a result, user is transparently backed by 1 less hugepage, impacting
> + memory access performance.
> +- For a page that is part of a HugeTLB hugepage, soft-offline first migrates
> + the entire HugeTLB hugepage, during which a free hugepage will be consumed
> + as migration target. Then the original hugepage is dissolved into raw
> + pages without compensation, reducing the capacity of the HugeTLB pool by 1.
> +
> +It is user's call to choose between reliability (staying away from fragile
> +physical memory) vs performance / capacity implications in transparent and
> +HugeTLB cases.
> +
> +For all architectures, enable_soft_offline controls whether to soft offline
> +memory pages. When setting to 1, kernel attempts to soft offline the pages
When set to 1,
> +whenever it thinks needed. When setting to 0, kernel returns EOPNOTSUPP to
When set to 0,
> +the request to soft offline the pages. Its default value is 1.
> +
> +It is worth mentioning that after setting enable_soft_offline to 0, the
> +following requests to soft offline pages will not be performed:
> +- Request to soft offline pages from RAS Correctable Errors Collector.
> +- On ARM, the request to soft offline pages from GHES driver.
> +- On PARISC, the request to soft offline pages from Page Deallocation Table.
>
> extfrag_threshold
> =================
--
~Randy