As of 2.6.32 mmap supports the MAP_HUGETLB flag that will, when there are available huge pages, return an anonymous region backed by huge pages. This allows us to use default sized huge pages for morecore and get_huge_pages without forcing the admin to mount hugetlbfs.
This patch set is just a first pass as it causes the get_huge_pages and all of the morecore tests to fail because it cannot determine that they are using huge pages. This is a failing of the test, not the library because the test looks for a file on hugetlbfs to be sure that huge pages are being used. Changes from V1: hugetlbfs_prefault now opens /dev/zero for reading in readv calls if MAP_HUGETLB was used for the mapping MAP_HUGETLB is only used for the process heap if the default huge page size is requested for MORECORE Eric B Munson (6): Add kernel feature check for MAP_HUGETLB Add check for MAP_HUGETLB support Separate finding page sizes from mount points Transition hugetlbfs_prefault to handle MAP_HUGETLB Use MAP_HUGETLB in get_huge_pages Use MAP_HUGETLB for heap mappings alloc.c | 42 ++++++++++++------ hugeutils.c | 103 ++++++++++++++++++++++++++++++++++------------ init.c | 5 ++ kernel-features.c | 4 ++ libhugetlbfs_internal.h | 9 ++++ libhugetlbfs_privutils.h | 3 + morecore.c | 31 +++++++++---- 7 files changed, 146 insertions(+), 51 deletions(-) ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ Libhugetlbfs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel
