lkml.org 
[lkml]   [2015]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] mmap.2: document the munmap exception for underlying page size
On Thu, 23 Jul 2015, Michael Kerrisk (man-pages) wrote:

> >> Should we also add a similar comment for the mmap offset? Currently
> >> the man page says:
> >>
> >> "offset must be a multiple of the page size as returned by
> >> sysconf(_SC_PAGE_SIZE)."
> >>
> >> For hugetlbfs, I beieve the offset must be a multiple of the
> >> hugetlb page size. A similar comment/exception about using
> >> the "underlying page size" would apply here as well.
> >>
> >
> > Yes, that makes sense, thanks. We should also explicitly say that mmap(2)
> > automatically aligns length to be hugepage aligned if backed by hugetlbfs.
>
> And, surely, it also does something similar for mmap()'s 'addr'
> argument?
>
> I suggest we add a subsection to describe the HugeTLB differences. How
> about something like:
>
> Huge page (Huge TLB) mappings
> For mappings that employ huge pages, the requirements for the
> arguments of mmap() and munmap() differ somewhat from the
> requirements for mappings that use the native system page size.
>
> For mmap(), offset must be a multiple of the underlying huge page
> size. The system automatically aligns length to be a multiple of
> the underlying huge page size.
>
> For munmap(), addr and length must both be a multiple of the
> underlying huge page size.
> ?
>

Looks good, please add my acked-by. The commit that expanded on the
documentation of this behavior was
80d6b94bd69a7a49b52bf503ef6a841f43cf5bbb.

Answering from your other email, no, this behavior in the kernel has not
changed recently but we found it wasn't properly documented so we wanted
to fix that both in the kernel tree and in the man-pages to make it
explicit.


\
 
 \ /
  Last update: 2015-07-23 23:01    [W:0.156 / U:0.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site