Re: [PATCH v5 0/8] Support for contiguous pte hugepages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 Jun 2017 14:39:57 +0100 Punit Agrawal <punit.agrawal@xxxxxxx> wrote:

> 
> The architecture supports two flavours of hugepages -
> 
> * Block mappings at the pud/pmd level
> 
>   These are regular hugepages where a pmd or a pud page table entry
>   points to a block of memory. Depending on the PAGE_SIZE in use the
>   following size of block mappings are supported -
> 
>           PMD	PUD
>           ---	---
>   4K:      2M	 1G
>   16K:    32M
>   64K:   512M
> 
>   For certain applications/usecases such as HPC and large enterprise
>   workloads, folks are using 64k page size but the minimum hugepage size
>   of 512MB isn't very practical.
> 
> To overcome this ...
> 
> * Using the Contiguous bit
> 
>   The architecture provides a contiguous bit in the translation table
>   entry which acts as a hint to the mmu to indicate that it is one of a
>   contiguous set of entries that can be cached in a single TLB entry.
> 
>   We use the contiguous bit in Linux to increase the mapping size at the
>   pmd and pte (last) level.
> 
>   The number of supported contiguous entries varies by page size and
>   level of the page table.
> 
>   Using the contiguous bit allows additional hugepage sizes -
> 
>            CONT PTE    PMD    CONT PMD    PUD
>            --------    ---    --------    ---
>     4K:         64K     2M         32M     1G
>     16K:         2M    32M          1G
>     64K:         2M   512M         16G
> 
>   Of these, 64K with 4K and 2M with 64K pages have been explicitly
>   requested by a few different users.
> 
> Entries with the contiguous bit set are required to be modified all
> together - which makes things like memory poisoning and migration
> impossible to do correctly without knowing the size of hugepage being
> dealt with - the reason for adding size parameter to a few of the
> hugepage helpers in this series.
> 

Thanks, I added the above to the 1/n changelog.  Perhaps it's worth
adding something like this to Documentation/vm/hugetlbpage.txt.



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux