Re: [Lse-tech] Re: hugetlb demand paging patch part [2/3]

From: Ray Bryant
Date: Sun Apr 18 2004 - 12:37:19 EST

'David Gibson' wrote:

My main interest in it is as a prerequisite for various methods of
"automatically" using hugepages for programs where it is difficult to
manually code them to use hugetlbfs. In particular, think HPC
monsters written in FORTRAN. e.g. automatically putting suitable
aligned anonymous mmap()s in hugepages under some circumstances (I
can't say I like that idea much), using an LD_PRELOAD to put
malloc()ated memory into hugepages, or using a hacked ELF loader to
put the BSS section (again, think FORTRAN) into hugepages (actually
easier and less ugly than it sounds).

Well, that certainly is a laudable goal. At the moment, one usually has to resort to such things as POINTER variables and the like to get access to hugetlbpage segments. Unfortunately, some of our experiments with the Intel compiler for ia64 have indicated that the generated code can be significantly slower when arrays are referenced off of POINTER variables than when the same arrays are referenced out of COMMON, thus eliminating the performance gain of HUGETLB pages.

My question was really intended to address applying development effort to things that the users of hugetlbpages will likely actually use. For example, it seems pointless to worry too much about demand paging of hugetlbpages out to disk. Anyone who uses hugetlbpages for the performance boost they give will also likely have rightsized their problem or machine configuration to eliminate any swapping.

In any of these cases having the memory have different semantics
(MAP_SHARED) to normal anonymous memory would clearly be a Bad Thing.

Best Regards,
Ray Bryant
512-453-9679 (work) 512-507-7807 (cell)
raybry@xxxxxxx raybry@xxxxxxxxxxxxx
The box said: "Requires Windows 98 or better",
so I installed Linux.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at