• Zhenguo Yao's avatar
    hugetlbfs: extend the definition of hugepages parameter to support node allocation · b5389086
    Zhenguo Yao authored
    We can specify the number of hugepages to allocate at boot.  But the
    hugepages is balanced in all nodes at present.  In some scenarios, we
    only need hugepages in one node.  For example: DPDK needs hugepages
    which are in the same node as NIC.
    
    If DPDK needs four hugepages of 1G size in node1 and system has 16 numa
    nodes we must reserve 64 hugepages on the kernel cmdline.  But only four
    hugepages are used.  The others should be free after boot.  If the
    system memory is low(for example: 64G), it will be an impossible task.
    
    So extend the hugepages parameter to support specifying hugepages on a
    specific node.  For example add following parameter:
    
      hugepagesz=1G hugepages=0:1,1:3
    
    It will allocate 1 hugepage in node0 and 3 hugepages in node1.
    
    Link: https://lkml.kernel.org/r/20211005054729.86457-1-yaozhenguo1@gmail.comSigned-off-by: default avatarZhenguo Yao <yaozhenguo1@gmail.com>
    Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
    Cc: Zhenguo Yao <yaozhenguo1@gmail.com>
    Cc: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mike Rapoport <rppt@kernel.org>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b5389086
hugetlb.c 192 KB