On 2018/05/25 2:45, Mike Kravetz wrote: [...] >> THP does not guarantee to use the Huge Page, but may use the normal page. > > Note. You do not want to use THP because "THP does not guarantee". [...] >> One of the answers I have reached is to use HugeTLBfs by overcommitting >> without creating a pool(this is the surplus hugepage). > > Using hugetlbfs overcommit also does not provide a guarantee. Without > doing much research, I would say the failure rate for obtaining a huge > page via THP and hugetlbfs overcommit is about the same. The most > difficult issue in both cases will be obtaining a "huge page" number of > pages from the buddy allocator. Yes. If do not support multiple size hugetlb pages such as x86, because number of pages between THP and hugetlb is same, the failure rate of obtaining a compound page is same, as you said. > I really do not think hugetlbfs overcommit will provide any benefit over > THP for your use case. I think that what you say is absolutely right. > Also, new user space code is required to "fall back" > to normal pages in the case of hugetlbfs page allocation failure. This > is not needed in the THP case. I understand the superiority of THP, but there are scenes where khugepaged occupies cpu due to page fragmentation. Instead of overcommit, setup a persistent pool once, I think that hugetlb can be superior, such as memory allocation performance exceeding THP. I will try to find a good way to use hugetlb page. I sincerely thank you for your help. -- Thanks, Tsukada