January 7, 2020

372 words 2 mins read

hugetlbfs, Still Alive and Kicking

hugetlbfs, Still Alive and Kicking

Linux support for huge pages has been around since the early 2.6 time frame. When support was added, it followed the 'everything is a file' model and the result was hugetlbfs. hugetlbfs represents a p …

Talk Title hugetlbfs, Still Alive and Kicking
Speakers Mike Kravetz (Software Engineer, Oracle)
Conference Open Source Summit North America
Conf Tag
Location Los Angeles, CA, United States
Date Sep 10-14, 2017
URL Talk Page
Slides Talk Slides
Video

Linux support for huge pages has been around since the early 2.6 time frame. When support was added, it followed the ‘everything is a file’ model and the result was hugetlbfs. hugetlbfs represents a pool of huge pages that are best pre-allocated at boot time. Because of this need for pre-allocation, special management and (minimal) application code modification, few applications actually use hugetlbfs. The early adopters and most prominent current users of hugetlbfs are large databases. Databases like to control as much of the system as possible and may even enjoy the extra control that hugetlbfs provides. Recent efforts in the area of huge page support have been centered around Transparent Huge Pages(THP), where recent patches have added page cache support, and work is underway to even add support to the ext4 filesystem. With THP’s ease of use, one would think that few people care about the older and more difficult to manage hugetlbfs. However, some new features have been added to hugetlbfs mostly at the request of database developers. Surprisingly, some of these new features have found successful use in other areas such as Qemu Post Copy Live Migration. This talk will discuss the new hugetlbfs features. In addition, it will include a general hugetlbfs presentation. At this year’s LSF/MM summit it was noted that hugetlbfs is “its own vm”. In a sense, it is true. Within the mm subsystem, there are many places that have code such as: if (hugetlbpage()) call special hugetlbfs code else process normally Therefore, some assumptions one makes about general Linux mm do not apply to hugetlbfs. Some of the most prominent differences will be presented. The goal for this presentation is to expose more people to this often forgotten functionality so that perhaps it can be employed in more creative ways.

comments powered by Disqus