lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPm50aKRTg2=WMDw+vWvXA5+wADfSo8Kk-PHpAagftGypArU+g@mail.gmail.com>
Date:   Wed, 6 Oct 2021 16:16:51 +0800
From:   Hao Peng <flyingpenghao@...il.com>
To:     David Hildenbrand <david@...hat.com>
Cc:     akpm@...ux-foundation.org, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/huge_memory: disable thp if thp page size is too large

On Thu, Sep 30, 2021 at 9:19 PM David Hildenbrand <david@...hat.com> wrote:
>
> On 30.09.21 04:14, Hao Peng wrote:
> > From: Peng Hao <flyingpeng@...cent.com>
>
> "disable thp if thp page size is too large" you disable thp if there is
> not sufficient memory installed in the system (and for that, you use THP
> size), something doesn't add up here.
>
In addition, if THP is enabled, min_free_kbytes will be recalculated.
At this time,
min_free_kbytes is calculated based on the size of THP. If the size of
THP is too l
arge, OOM will easily be triggered.
> >
> > After seting the page size to 64k on ARM64, the supported huge page
>
> s/seting/setting/
>
> Fortunately, most distributions already switched to 4k, because 512MB
> THP is pretty much useless, especially on any system that doesn't have
> memory in the range of hundreds of megabytes or terrabytes.
But the ARM64 Server distribution version I use, such as CentOS for ARM64,
 has a page size of 16KB or 64KB.
Thanks.
>
> > size is 512M and 1TB. Therefore, if the thp is enabled, the size
> > of the thp is 512M. In this case, min_free_kbytes will be too large.
> >
> > On an arm64 server with 64G memory, the page size is 64k, with thp
> > enabled.
> > cat /proc/sys/vm/min_free_kbytes
> > 3335104
> >
> > Therefore, when judging whether to enable thp by default, consider
> > the size of thp.
> >
> > Signed-off-by: Peng Hao <flyingpeng@...cent.com>
> > ---
> >   mm/huge_memory.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> > index 5e9ef0fc261e..03c7f571b3ae 100644
> > --- a/mm/huge_memory.c
> > +++ b/mm/huge_memory.c
> > @@ -437,7 +437,7 @@ static int __init hugepage_init(void)
> >           * where the extra memory used could hurt more than TLB overhead
> >           * is likely to save.  The admin can still enable it through /sys.
> >           */
> > -       if (totalram_pages() < (512 << (20 - PAGE_SHIFT))) {
> > +       if (totalram_pages() < (512 << (HPAGE_PMD_SHIFT - PAGE_SHIFT))) {
> >                  transparent_hugepage_flags = 0;
> >                  return 0;
> >          }
> > --
> > 2.27.0
> >
>
>
> --
> Thanks,
>
> David / dhildenb
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ