Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753407AbbGVXt1 (ORCPT ); Wed, 22 Jul 2015 19:49:27 -0400 Received: from mail-pa0-f50.google.com ([209.85.220.50]:36691 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752763AbbGVXtZ (ORCPT ); Wed, 22 Jul 2015 19:49:25 -0400 Date: Wed, 22 Jul 2015 16:49:23 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Mike Kravetz cc: mtk.manpages@gmail.com, Hugh Dickins , Davide Libenzi , Eric B Munson , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-man@vger.kernel.org Subject: Re: [patch] mmap.2: document the munmap exception for underlying page size In-Reply-To: <55B027D3.4020608@oracle.com> Message-ID: References: <55B027D3.4020608@oracle.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1934 Lines: 50 On Wed, 22 Jul 2015, Mike Kravetz wrote: > On 07/21/2015 05:41 PM, David Rientjes wrote: > > munmap(2) will fail with an errno of EINVAL for hugetlb memory if the > > length is not a multiple of the underlying page size. > > > > Documentation/vm/hugetlbpage.txt was updated to specify this behavior > > since Linux 4.1 in commit 80d6b94bd69a ("mm, doc: cleanup and clarify > > munmap behavior for hugetlb memory"). > > > > Signed-off-by: David Rientjes > > --- > > man2/mmap.2 | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/man2/mmap.2 b/man2/mmap.2 > > --- a/man2/mmap.2 > > +++ b/man2/mmap.2 > > @@ -383,6 +383,10 @@ All pages containing a part > > of the indicated range are unmapped, and subsequent references > > to these pages will generate > > .BR SIGSEGV . > > +An exception is when the underlying memory is not of the native page > > +size, such as hugetlb page sizes, whereas > > +.I length > > +must be a multiple of the underlying page size. > > It is not an error if the > > indicated range does not contain any mapped pages. > > .SS Timestamps changes for file-backed mappings > > > > -- > > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/