From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752375AbbDBWuW (ORCPT ); Thu, 2 Apr 2015 18:50:22 -0400 Received: from mail-ig0-f181.google.com ([209.85.213.181]:37555 "EHLO mail-ig0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750887AbbDBWuS (ORCPT ); Thu, 2 Apr 2015 18:50:18 -0400 Date: Thu, 2 Apr 2015 15:50:15 -0700 (PDT) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Andrew Morton cc: Hugh Dickins , Jonathan Corbet , Davide Libenzi , Luiz Capitulino , Shuah Khan , Andrea Arcangeli , Joern Engel , Jianguo Wu , Eric B Munson , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, linux-doc@vger.kernel.org Subject: [patch -mm] mm, doc: cleanup and clarify munmap behavior for hugetlb memory fix In-Reply-To: Message-ID: References: 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 Don't only specify munmap(2) behavior with respect the hugetlb memory, all other syscalls get naturally aligned to the native page size of the processor. Rather, pick out munmap(2) as a specific example. Signed-off-by: David Rientjes --- Documentation/vm/hugetlbpage.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt index 1270fb1..030977f 100644 --- a/Documentation/vm/hugetlbpage.txt +++ b/Documentation/vm/hugetlbpage.txt @@ -313,8 +313,11 @@ into /proc/sys/vm/hugetlb_shm_group. It is possible for same or different applications to use any combination of mmaps and shm* calls, though the mount of filesystem will be required for using mmap calls without MAP_HUGETLB. -When using munmap(2) to unmap hugetlb memory, the length specified must be -hugepage aligned, otherwise it will fail with errno set to EINVAL. +Syscalls that operate on memory backed by hugetlb pages only have their lengths +aligned to the native page size of the processor; they will normally fail with +errno set to EINVAL or exclude hugetlb pages that extend beyond the length if +not hugepage aligned. For example, munmap(2) will fail if memory is backed by +a hugetlb page and the length is smaller than the hugepage size. Examples