On Tue, Jun 25, 2024 at 5:02 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: > > 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 <osalvador@xxxxxxx> > > > > Signed-off-by: Jiaqi Yan <jiaqiyan@xxxxxxxxxx> > > --- > > 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, Thanks Randy! I will fix these 3 nits in v6. > > > +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