On Fri, 17 Apr 2020 11:50:45 -0700 Mike Kravetz <mike.kravetz@xxxxxxxxxx> wrote: > v3 - > Used weak attribute method of defining arch_hugetlb_valid_size. > This eliminates changes to arch specific hugetlb.h files (Peter) > Updated documentation (Peter, Randy) > Fixed handling of implicitly specified gigantic page preallocation > in existing code and removed documentation of such. There is now > no difference between handling of gigantic and non-gigantic pages. > (Peter, Nitesh). > This requires the most review as there is a small change to > undocumented behavior. See patch 4 commit message for details. > Added Acks and Reviews (Mina, Peter) > > v2 - > Fix build errors with patch 1 (Will) > Change arch_hugetlb_valid_size arg to unsigned long and remove > irrelevant 'extern' keyword (Christophe) > Documentation and other misc changes (Randy, Christophe, Mina) > Do not process command line options if !hugepages_supported() > (Dave, but it sounds like we may want to additional changes to > hugepages_supported() for x86? If that is needed I would prefer > a separate patch.) > > Longpeng(Mike) reported a weird message from hugetlb command line processing > and proposed a solution [1]. While the proposed patch does address the > specific issue, there are other related issues in command line processing. > As hugetlbfs evolved, updates to command line processing have been made to > meet immediate needs and not necessarily in a coordinated manner. The result > is that some processing is done in arch specific code, some is done in arch > independent code and coordination is problematic. Semantics can vary between > architectures. > > The patch series does the following: > - Define arch specific arch_hugetlb_valid_size routine used to validate > passed huge page sizes. > - Move hugepagesz= command line parsing out of arch specific code and into > an arch independent routine. > - Clean up command line processing to follow desired semantics and > document those semantics. > > [1] https://lore.kernel.org/linux-mm/20200305033014.1152-1-longpeng2@xxxxxxxxxx > > Mike Kravetz (4): > hugetlbfs: add arch_hugetlb_valid_size > hugetlbfs: move hugepagesz= parsing to arch independent code > hugetlbfs: remove hugetlb_add_hstate() warning for existing hstate > hugetlbfs: clean up command line processing > > .../admin-guide/kernel-parameters.txt | 40 ++-- > Documentation/admin-guide/mm/hugetlbpage.rst | 35 ++++ > arch/arm64/mm/hugetlbpage.c | 30 +-- > arch/powerpc/mm/hugetlbpage.c | 30 +-- > arch/riscv/mm/hugetlbpage.c | 24 +-- > arch/s390/mm/hugetlbpage.c | 24 +-- > arch/sparc/mm/init_64.c | 43 +--- > arch/x86/mm/hugetlbpage.c | 23 +-- > include/linux/hugetlb.h | 2 +- > mm/hugetlb.c | 190 +++++++++++++++--- > 10 files changed, 271 insertions(+), 170 deletions(-) > Looks good and works fine for s390, thanks for cleaning up! Acked-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx> # s390