From patchwork Thu May 26 18:09:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Kravetz X-Patchwork-Id: 12862632 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 801E4C433F5 for ; Thu, 26 May 2022 18:10:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E89958D0005; Thu, 26 May 2022 14:10:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E112C8D0001; Thu, 26 May 2022 14:10:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C39B28D0005; Thu, 26 May 2022 14:10:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id AF5CE8D0001 for ; Thu, 26 May 2022 14:10:10 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 82E041205A4 for ; Thu, 26 May 2022 18:10:10 +0000 (UTC) X-FDA: 79508683380.05.EB3F7C1 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf04.hostedemail.com (Postfix) with ESMTP id EAC4C40046 for ; Thu, 26 May 2022 18:09:52 +0000 (UTC) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24QHNGBk021674; Thu, 26 May 2022 18:10:06 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2021-07-09; bh=LglZHn96QLVw71TEGdziiRIVPTsRZ6o/t3paxvTDCKs=; b=vQCKeBnEDJbz/zXosZi6rt8EbYKLswW2oxptB/EJ8/gRmGOTe2Gt31FPvP831D+kjP4B xQEBa7BH2RQ4/AjARmygPEnrrv7sjD35rKTLuQqFngFtCY1K36UOmX6EfzfKr/j6XYpP N7KG5pnaVj6B5ZcYhejbC7P0Yf3IbO3YgmKn9l90jYB0pYJ07nwxjI43tZM5SmBQR2Jd Bve+HFmux8/AMs6UeWKwZVyVdQLObRfKNuCfteLWUgJfvcH/k5jlJMFZbJl4ubokbPc5 rGwZNaE5pR1QRdVC3zG1wtFU73Nlg5AGUm4bDAOb2Jmjq6dbmteJwEXyMedHO3vQBLby AA== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3g93tbwj20-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 May 2022 18:10:06 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 24QI6QBL016254; Thu, 26 May 2022 18:10:04 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3g93x6ytda-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 May 2022 18:10:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EsI3YAM2RyyRzFD0I0NXQBXjQbac50teQpUExlzc3zCcurMLk+Kw49uUo342HjJnVz+Z4uxFrMmWgrFf52y423GlsV0IjEHBu9aSyKzwQUu78uvAtlHgdKJVbNRfwvHGi9COWfkRaCl8ETcN8cZ7ickSP0mXi6Yg4PYrijDSGFVLOtK7/sudsmVYfHxWP3TlY09ggFOi+/F6oBoXVUAsLuYHTvezh1YRLTspm6yt21G72Dx1gYitJZULkw5gDDR5bV4jUTW1d+H6Y5B3LB1GW5m1gAfoSynTFb4s+f7HdYZplWI9tEojyjSRqRcXZcF5G1Gvs/9fZvP3K5ny5GngfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LglZHn96QLVw71TEGdziiRIVPTsRZ6o/t3paxvTDCKs=; b=AtWXUVQrLl3wTMU2mk+PNPYODPaYo3z9Ia4qq7afzhxxnxswLYAYhRLf52tdWVjgIFUYyga4w1KzMSu6Hi2PnTR/bEOM6ikDD6Jd/2KMfGJjMThrgZ8s/8F7QvJLUGx7EFKw6aRAiSQGv1AaGNTmfPDErBITiK1KKwknBNcdJeR75Gqv+cHXE6kKow2AiTUUZ++/lOj28la8eu7vlBdGVJV9iVw68zSCWi4b8cxReRWn4LOQGLw81SwIPFYaqQYBOu18RoNr4bN8h4oSEkFfN+Xk1R/XNjEnS1rabVVcDlxMGhK+Htdz4ddhdDZcAvOAys6TuoVAwZdV03kfofOigw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LglZHn96QLVw71TEGdziiRIVPTsRZ6o/t3paxvTDCKs=; b=Rb3esrQty0L29AVq4x5OWumEnjnUxVmh7gduXLrihBozQNZZkX5Oft3qbjZcSYnroWNA8n/tV1DhBZSZeCvTHx+4kUEXlVr2VXfSAwcweItQ75Xw49TXQq3Lg2rO/RY6abR6RHlKr9kUCcd2L+4cxSr/fOOaiavU4Ztkvs67x9s= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by CH2PR10MB3765.namprd10.prod.outlook.com (2603:10b6:610:d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Thu, 26 May 2022 18:10:02 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9%9]) with mapi id 15.20.5293.013; Thu, 26 May 2022 18:10:02 +0000 From: Mike Kravetz To: linux-man@vger.kernel.org, linux-mm@kvack.org Cc: Alejandro Colomar , Michael Kerrisk , David Hildenbrand , Axel Rasmussen , Peter Xu , Mike Kravetz Subject: [PATCH v2] madvise.2: Clarify addr/length and update hugetlb support Date: Thu, 26 May 2022 11:09:50 -0700 Message-Id: <20220526180950.13916-1-mike.kravetz@oracle.com> X-Mailer: git-send-email 2.35.3 X-ClientProxiedBy: CO2PR04CA0152.namprd04.prod.outlook.com (2603:10b6:104::30) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 864ec304-258c-4096-0c96-08da3f42f423 X-MS-TrafficTypeDiagnostic: CH2PR10MB3765:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TkyrcbQeyg+pHB/FzoYNrJmuIEBZk3CBjbUoJuiMax3PKZjKMnep4CQwO39UojF8dgpNu3eQ157asmE2VEevAY1cm6TkAodSSwub0G3bmiJfkiCoezYF8eQHRb1uVQr8IqHs/Z+KvPs7lJWl285y8T/txCjy1ZfgsCkmYtMRJe5pWH8PccbWUdVdFjSnuYrQs7HwkqI0l+tQfxWsnEJ/D7eyNZ/2ikVIDVxfnLtXKeaUUN031H0Y48uUov6+aMGeUErRH5Z9JRDj1KFdyEN2uV/GcrZ/zI8V3mMlAPrIHS68fDUieKnSmHzVw+f8KxOlU5wUnan/KSpTXVAX46v/PtoTYCEKwDWzNJUUqA+KFd673MCmisyfin53SDsIaRCt87BhkBtrUNRO4F5b6+BiQz2bsL9bWmW/byjUj5BMX0diRdMWBsEdn8hk5IB4zGnxHJTVEIK7lvV2/Gcyu7NjkE3cuQaynEWJIQst6fo61N2zz9D55VLZ7VGmkh0C/lLuRen3Mc681gHc23Zs4omtvt9+BYwiNAz7LjpGv2MWWHNXKUqZQc4B5flSqMgrqm+8cQK7i9OlpxqeDZzfnUVQybU8OjwpNwx2FYORBerw73VJf0Z1C4TWzFZMLlQi0wuyIq0VWhW1qTwQa7fcN6RyjDmtxw7XUlntIlkwgmJFgBfTkAZeSd7x1u2FBRPqfcx6ivCorqiFGBfQmB+xcBEWqw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4196.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(44832011)(316002)(52116002)(54906003)(6506007)(15650500001)(26005)(6512007)(2616005)(86362001)(38350700002)(38100700002)(66476007)(66556008)(8676002)(4326008)(66946007)(6486002)(8936002)(508600001)(6666004)(5660300002)(83380400001)(186003)(36756003)(107886003)(1076003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ts9kpf6PxtLBHi1AulBWzuPU6S5sPDPko3tklM1rECS6FeYtJ8KIItJKaVyqhCEiNnLwjUD4MVivkqnWqE+N7zVvECsfRHfBX2QFafOLouICIKEU/oEmwd5V+jZ8HaWxkjR9cfXVffE+TZeu3G4fwy0/JLwUVn6onScNQDSvbbEQoEBSwLbMjY0tpRFV83GyZ8tg513LtK9H1aPv7tyVkqzs7E6nd0OYcTqnkLzTynG/Ki2dgg54XZRSdZlnYIaXj0MmB2dePSZ+GgG+Une2DoaWJbvWQKs6+/TQ4zCllIlLF4irXnzuNSGfXTWUioLY0T9OD5uQ3JPZY+K+lhQMMtyFVn6Wr9VdH8ShP8zCS7MfXTKPVxdLvgtpd3Z3yEziWo5XpQ+YKaKW7lVP1uKJE5s1C6SdGf2odhuXrHq6xDsxPgGVhfTDLxtDuxYc4gXHnlqw57qanYDEI2RRq44RWaRXkU3CYN1rDIVzKxcBsPUe5hEz7p5hx1hAkLQNLaoge7Blh7kFDZy16tB69g5ujXA9JA8iTB7HPFF8QwcHaClmHceRJ7ODEynWah5CyCJbQ9AZATkS066x6iKZWoikBb6qEKAr9kUOcVmrdCotRR6SPr1ESyVPz7MXcHaReFIERH6uL14qBeZisfIITMTBr09U2O5B1jIZECNPOuq7elKUoFLT4GVs+Q4ul/t6XMOgMfAXmvYIjbfDwtkXBARoWW17v1L8U54uOIfsQmeg4IRfou+chw+7lhT9aFOKRWMuUJebTovPDafv9GTjREvt0kygv91EWFQW/kHCI2rOb53QbOglmury5SUpLa6olzY+Edh7NEg3EcbpQT8To4mAEdpqpYr/Jgkn3gfYMlRlLZbnBaxm+WSUwXnlXLlSLgvAH+CbSP8MJ6R8+/k1eKnBDARuqSih33uCttZdOYRB2DKgUfA4B8ug7X1xO1L4wYHKgO1iUPHgTc1IcmqLU68kD3U96VBnCilElDFjCS8IpUzhCIMvT/dLNXJBFwPG+ypANFvqTyfsGiFpQIwZYTdMzu9ByxH+HBNY5VSdgkzglBEVtLyD3xzcEyca049J4LADp7U6HTZWgQn78kasnO1GznAoX022qwHVtV+sHogclZcCD/8ROhVRFjjZeboJDBEWLAvPI+DvUi36BtQAEIsFfV8Dzc4r0u5ROKubEoCytkAhTAq7Cwf9Wghbe9NrRH5MEKorMjd1d3PDQLHjrLKc0gO2s137nKrRYeNMMnECZoiN0gZKGOsGYXlxqjYharBmYYzYsBN2sFq/sNVKeRK20/ADVgJ/XXWgGhfvjvkQTp7ctGM7bVciyQ8p5NUJA1O5RH4AwVt9Mx32uN7VNeYiK8EKpX5s3Mecxh1AzTMl9HPkPlf0iwOJGG0Hf0e5/ub1++DVKoyKPNTiUODo1Ke/00QrVBiqwD82yPgDEE45k5OwKh0wxbk4dE/6SuQsLzCk+Gs7f5jkBM9wJmiNNbbH/papuy0wUIMxvVD3Py1i924AVNfVl077hewFhDLiMOkEIfZC1dp2WRo7u0etNxLai+mYuGsRoqmUYikiC5D2+grmvXU9rsxQh5M+FHpIj3bmCM986vjbXPKXH4qxDd367ENQj4dxloj1LFb6GucGITC7bKB7TE/yia9uoNKFSa2VHGrGkDP9QI69ph0KAvaOvDvjADQnHYBdxdvcA1jCXcUKuMt/nqYKWaOmbYRPpTZbfronVifQyNheL9od+RSZcZ8XMnUZUwrGqYIE1teBuIE= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 864ec304-258c-4096-0c96-08da3f42f423 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 May 2022 18:10:02.5331 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qn4ljc8eyBUeU2pCkq9fiAdSAYYFQgUSzjnSeemSeVrXkSFaLqCpMx8c5cDtjf/LXU/nnJpylz8YCPFzoSxz3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB3765 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.874 definitions=2022-05-26_07:2022-05-25,2022-05-26 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2205260085 X-Proofpoint-GUID: 6KGyRnHOTHT9r2lr9PNV0suUHhB8x4Lk X-Proofpoint-ORIG-GUID: 6KGyRnHOTHT9r2lr9PNV0suUHhB8x4Lk Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=vQCKeBnE; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Rb3esrQt; dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf04.hostedemail.com: domain of mike.kravetz@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=mike.kravetz@oracle.com X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: EAC4C40046 X-Stat-Signature: u3fddcfichuifwcz6s4d5hx9p67s3ho4 X-HE-Tag: 1653588592-664846 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Clarify that madvise only works on full pages, and remove references to 'bytes'. Update MADV_DONTNEED and MADV_REMOVE sections to remove notes that HugeTLB mappings are not supported. Indicate the releases when they were first supported as well as alignment restrictions. Signed-off-by: Mike Kravetz Acked-by: Peter Xu --- v1 -> v2 Added releases when Huge TLB support was added and moved alignment requirements to corresponding section. (Peter) man2/madvise.2 | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/man2/madvise.2 b/man2/madvise.2 index f1f384c0c..50686e7e3 100644 --- a/man2/madvise.2 +++ b/man2/madvise.2 @@ -61,9 +61,13 @@ system call is used to give advice or directions to the kernel about the address range beginning at address .I addr and with size +.IR length . +.BR madvise () +only operates on whole pages, therefore +.I addr +must be page-aligned. The value of .I length -bytes -In most cases, +is rounded up to a multiple of page size. In most cases, the goal of such advice is to improve system or application performance. .PP Initially, the system call supported a set of "conventional" @@ -143,7 +147,7 @@ The resident set size (RSS) of the calling process will be immediately reduced however. .IP .B MADV_DONTNEED -cannot be applied to locked pages, Huge TLB pages, or +cannot be applied to locked pages, or .BR VM_PFNMAP pages. (Pages marked with the kernel-internal @@ -153,6 +157,11 @@ flag are special memory areas that are not managed by the virtual memory subsystem. Such pages are typically created by device drivers that map the pages into user space.) +.IP +Support for Huge TLB pages was added in Linux v5.18. Addresses within a +mapping backed by Huge TLB pages must be aligned to the underlying Huge TLB +page size, and the range length is rounded up to a multiple of the underlying +Huge TLB page size. .\" .\" ====================================================================== .\" @@ -170,24 +179,24 @@ Note that some of these operations change the semantics of memory accesses. .\" commit f6b3ec238d12c8cc6cc71490c6e3127988460349 Free up a given range of pages and its associated backing store. -This is equivalent to punching a hole in the corresponding byte +This is equivalent to punching a hole in the corresponding range of the backing store (see .BR fallocate (2)). Subsequent accesses in the specified address range will see -bytes containing zero. +pages containing zero. .\" Databases want to use this feature to drop a section of their .\" bufferpool (shared memory segments) - without writing back to .\" disk/swap space. This feature is also useful for supporting .\" hot-plug memory on UML. .IP The specified address range must be mapped shared and writable. -This flag cannot be applied to locked pages, Huge TLB pages, or +This flag cannot be applied to locked pages, or .BR VM_PFNMAP pages. .IP In the initial implementation, only .BR tmpfs (5) -was supported +supported .BR MADV_REMOVE ; but since Linux 3.5, .\" commit 3f31d07571eeea18a7d34db9af21d2285b807a17 @@ -196,10 +205,12 @@ any filesystem which supports the .BR FALLOC_FL_PUNCH_HOLE mode also supports .BR MADV_REMOVE . -Hugetlbfs fails with the error -.BR EINVAL -and other filesystems fail with the error +Filesystems which do not support +.BR MADV_REMOVE +fail with the error .BR EOPNOTSUPP . +.IP +Support for Huge TLB filesystem was added in Linux v4.3. .TP .BR MADV_DONTFORK " (since Linux 2.6.16)" .\" commit f822566165dd46ff5de9bf895cfa6c51f53bb0c4