Blob Blame History Raw
\"                                      Hey, EMACS: -*- nroff -*-
.\" Copyright 2012 Cray Inc.
.\" All rights reserved.
.\" Licensed under LGPL 2.1 by Cray Inc.
.\"
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH LD.HUGETLBFS 1 "March 12, 2012"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
ld.hugetlbfs \- link a program for huge pages
.SH SYNOPSIS
.B ld.hugetlbfs [options]
.SH DESCRIPTION

\fBld.hugetlbfs\fP replaces the normal \fBld\fP command for linking programs
to use hugepages.  Under gcc, you should use the option
\fB-B /usr/share/libhugetlbfs\fP which tells gcc to look in a non-standard
location for the linker.  This could be set in the \fBCFLAGS\fP environment
variable.

.TP
.B -Wl,--hugetlbfs-align

This method of linking an application permits greater flexibility at runtime.
Using HUGETLB_ELFMAP, it is possible to control which program segments are
placed in hugepages.  The following four settings will cause the indicated
segments to be placed in hugepages:

        HUGETLB_ELFMAP=R        Read-only segments (text)
        HUGETLB_ELFMAP=W        Writable segments (data/BSS)
        HUGETLB_ELFMAP=RW       All segments (text/data/BSS)
        HUGETLB_ELFMAP=no       No segments

It is possible to select specific huge page sizes for read-only and writable
segments by using the following advanced syntax:

        HUGETLB_ELFMAP=[R[=<pagesize>]:[W[=<pagesize>]]

.B -Wl,--hugetlbfs-link=B

Under binutils 2.16 or older, this option will link the application to store
BSS data (only) into hugepages.

.B -Wl,--hugetlbfs-link=BDT

Under binutils 2.16 or older, this option will link the application to store
text, initialized data and BSS data into hugepages.

.SH FILES
[DESTDIR|/usr/share]/doc/libhugetlbfs/HOWTO

.SH SEE ALSO
.I libhugetlbfs(7),
.I hugectl(8),
.I hugeedit(8)
.br
.SH AUTHORS
libhugetlbfs was written by various people on the libhugetlbfs-devel
mailing list.