Hugepage support on Linux

This proposal has been rejected.

*

One Line Summary

Current state and future directions for hugepage support on Linux

Abstract

Architectures like SPARC supports a variety for hugepage sizes in
hardware. Still Linux has only a basic support for them. For instance,
a process has to manually select hugepage size to use for any region
of its address space. Transparent Huge Pages (THP) can do background
scanning and transparently back ranges of address space with the arch
specific, default hugepage size. This THP support is still far from
taking full advantage of hardware, especially for richer architectures
like SPARC which support a large number of page sizes.

I would be taking SPARC as a reference architecture and present on
what needs to change to take full advantage of hugepage support. Much
of this work would benefit all architectures which support many
different page sizes like PowerPC. In particular:

1) Supporting many different hugepage sizes. Currently Linux on SPARC (LoS) supports 8M page only while hardware supports 4M, 256M, 2G, 16G huge pages. x86 centric four level page table design presents unique challenges when supporting all these different page sizes. 2) Transparently backing up process address spaces using a mix of these hugepages, depending on alignment and size of mappings. This would require changes to both generic and architecture specific code.

Tags

linux, hugepages, sparc, memory-management

Speaker

  • Nitin Gupta

    Oracle

    Biography

    Nitin currently works at Oracle on the mainline Linux on SPARC kernel team, with a focus on memory management. He is currently maintainer of zram (a compressed in-ram block device, formerly known as compcache) and zsmalloc (a memory allocator for compressed pages). Previously he worked at Intel (3 years) and VMware (4 years) where he focused on memory management aspect of various products.

Leave a private comment to organizers about this proposal