From mboxrd@z Thu Jan 1 00:00:00 1970 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 020F8C54EE9 for ; Wed, 7 Sep 2022 14:51:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C90D6B0074; Wed, 7 Sep 2022 10:51:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 851C86B0075; Wed, 7 Sep 2022 10:51:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 656668D0001; Wed, 7 Sep 2022 10:51:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 508CA6B0074 for ; Wed, 7 Sep 2022 10:51:24 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0E9C1ABC6A for ; Wed, 7 Sep 2022 14:51:24 +0000 (UTC) X-FDA: 79885577688.16.9702B0C Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id 6EC77A0067 for ; Wed, 7 Sep 2022 14:51:23 +0000 (UTC) Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 287EnD5p020994; Wed, 7 Sep 2022 14:51:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : content-type : in-reply-to : mime-version; s=corp-2022-7-12; bh=06IYX+s6J0ifjnF0wVX8PbLQ1Pe/utWRZi+cnRZUtrI=; b=PuxjXWw+6JecWrRXCseD3B8pPmI1HSOkPN+neeaw0Bpmdg4q5I+gHN8mMWYXp9Ni2xE5 8jZUhSK1rWntkIU8PMS1v8UeBGFhUAl4gE3C8zoM7iV+aVhHXXvJ1XvbALDEPfdbRSD1 owL4vuRo15wRavfI+apzUBLKMTJwXCg8gRhp61fxLiDQYMf7PqzO8jJf+3k1OFOjb9SB 2kOPdd9S4NLUGxmQdAAO+vB///nSl7q7XlzTdGAMew0XrsoPL9SonRDvC2qVqylHuTs9 VvSaJDwr/aBqUWJIEAeLtoOK4GGTEV4se4IIH00+Xd9H/rKE1Ga6jGtJbJZKoXfdj4Ui Tg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jbyfts330-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Sep 2022 14:51:04 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 287E2Fal033174; Wed, 7 Sep 2022 14:51:03 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2105.outbound.protection.outlook.com [104.47.58.105]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jbwc41spn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Sep 2022 14:51:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V4Tlnca8aBbtmT1Ko5UuRJl1RHokeS6y5vXkdNoPH6mfTWqlp7A0p+kzP8ONUQbgO1aX3dIDsfejYiLoSUjRAUM/EJdRZqbNfIHytlAIguO76+qri9r4Hv2vjBAJP4hwH18JGbGSQNCMCDvys93L0p5R7U+ZZZZAJY1uGzjGomNC+iEO+eGF+NY6NVfp3Xz1Ng15nfPwRIWHXuCkMWrR1yANJ68sxqdiZQvwpF7swToXd33p8VCTb0Ob/rGz7J3NmrhKTT/DiFutkleQZ7DnQDYnQ5SjNTeP24cW0zlDwYHmKeKauPDUuu4AEeN1ISYnVk7C0On8wcwcUA9ugSNSUw== 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=06IYX+s6J0ifjnF0wVX8PbLQ1Pe/utWRZi+cnRZUtrI=; b=a6zJ7weMQo/0HxqvPYBTF+5YeKcj+xC3//LNvSmxqiKU6vyZjpZOLw+ggJjGc5YLybx7Bh8h3CMF0qTdnaacCmLrMFSW6Xs/pxwXIlvvAJfn9/ZBJQ4VN10FrNtSLABaAYSOpLPWZyIWTmxwLtcLlAdX/wEc7AjuKcdhSza6UquhnStnb3zH8cC08cU3N8CrtPb2xkLHc+9ED3VQDgDq+0hl3FDWFoka3n3zc4pdGOqUdDcO+lZFkb06bYRJwopQlFJ7bc7bes6n6EqSpNjNO5tmEpwOvAWbvnBVPOEiEP52x/S/PaGTpXKitpS4Lmo753cKR4/GKyvpyNJ9Bmkc1w== 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=06IYX+s6J0ifjnF0wVX8PbLQ1Pe/utWRZi+cnRZUtrI=; b=czEReb033Zxd+Kz4+AFWV8xDz4XoQMsgPrmoEs/3VycL+DORTKrDYiBLXky6rmUjZSbKlD4md26HGCndGPAiJ4em7e+QJ/t9jj2pwdotOO4hX9ABtBDqOIR7d9RbWMxhZVPNF4CyL+R4JZrNLQNOg9/63OkYZbJQaJ+Ykb1TCr0= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by CY5PR10MB6023.namprd10.prod.outlook.com (2603:10b6:930:3d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.17; Wed, 7 Sep 2022 14:51:01 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::e9d2:a804:e53a:779a]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::e9d2:a804:e53a:779a%6]) with mapi id 15.20.5612.014; Wed, 7 Sep 2022 14:51:01 +0000 Date: Wed, 7 Sep 2022 07:50:57 -0700 From: Mike Kravetz To: Sven Schnelle Cc: Miaohe Lin , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muchun Song , David Hildenbrand , Michal Hocko , Peter Xu , Naoya Horiguchi , "Aneesh Kumar K . V" , Andrea Arcangeli , "Kirill A . Shutemov" , Davidlohr Bueso , Prakash Sangappa , James Houghton , Mina Almasry , Pasha Tatashin , Axel Rasmussen , Ray Fucillo , linux-s390@vger.kernel.org, hca@linux.ibm.com, gor@linux.ibm.com, Alexander Gordeev , Andrew Morton Subject: Re: [PATCH 4/8] hugetlb: handle truncate racing with page faults Message-ID: References: <20220824175757.20590-5-mike.kravetz@oracle.com> <367db2b5-5242-9be6-1d5f-d13e35f84167@huawei.com> <25ffa1bf-0025-3421-53cb-79f986468cb6@huawei.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW4PR03CA0046.namprd03.prod.outlook.com (2603:10b6:303:8e::21) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|CY5PR10MB6023:EE_ X-MS-Office365-Filtering-Correlation-Id: 414444bd-4037-46bb-69d7-08da90e0615c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Gm3mb97CKMtmrSuWP57mA2GPuTDalTuD3AJee7iimEe0Lff3H0sevTj9kbO25GLgQH9w3zz/DEC3XZAGK1g9Zkv0XVeOaSbinoP2ObF/AfOMyFOjwzVKJhxvmCYm1gsI1PIk0y6oIFY0wBSMXj+Rg1p0E9K32R9YdpViOTu2ydMwLOI33IpJ2Goi+R4AKxD3O6611u2tSzitkJwcjZKtgPHvagRy/f7PJ9liFXhc3PnUUxs9pkxGWxVE/RhTz9t7ksIk97EIEmvUfyoA7KTwh61lqEbzOMFxM6TXMvrMNFBti/vIDyQTiGoQovMnnEchXfiVdNZEKa0Etmck3tpn8W+VJN8t9cZ+AuWcmCN3DHEqA3SFmE86ynS93W53oaNfgGPxotZJWwXVvCnVOiAtn0HljnDF+Scb7e91+6AG4MtCHs3hMqniHjmqtDV3QKdt5WorG5fV1B66emiHepFcTAxabU0AYOvC4vDIMiseCdhYgn5mPI2PLDE388lwCXmqJ3VDYxPVGfApV4H+FYKH7gALZQwtSZ1o4MF8oWbgG2YohF5iKTfRJ5W9h249faM2Lcnwh8jnJ5ecfI1V9GxdX3FKo7C62aylQpZNGFwINM+qqekaMFKPgtr/wF5ihSGKuNr1xZdTgbHtZz7xCL+dzqPy4i9r2RlbqnNb6HJGhcMz1UIJ6m6mu19I90a0oAI63U7Exq5geFUyzeLwB0nvaQ== 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:(13230016)(7916004)(396003)(376002)(366004)(136003)(39860400002)(346002)(66556008)(66946007)(478600001)(316002)(6916009)(66476007)(6486002)(54906003)(38100700002)(86362001)(2906002)(9686003)(5660300002)(6512007)(186003)(6666004)(6506007)(41300700001)(53546011)(26005)(8676002)(44832011)(33716001)(4326008)(8936002)(83380400001)(7416002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9ZrXt7ZOwotb7ZjRlLQc1PBYYZiTKG0julH1B1jBcUxLgCplYk0WeK7JwyHC?= =?us-ascii?Q?YT+PMO6Z1LncgizckWNQLdAKq0jvfn4pgJer0MlUvzC34ECY1pfw3HFYgq4Y?= =?us-ascii?Q?lH2rc/yz/IrIgJxUV1tvu92F8ZMLX75CDHzwsRxlwodkVmtAbGJNKu8Om3lh?= =?us-ascii?Q?LU6E0CeVVEDwtpk3HCbn9s9lT6JSJ9hbra8umeXrdzyQP5j8JZuxyiAheYCB?= =?us-ascii?Q?OETcG567cDqPUAj9wj12RM0zuYXLosfvCzU++Yx7GNMpUrREDDwcN5sqiJLV?= =?us-ascii?Q?EeGkyH4PntLUIVtZZrwctCfPHCiEZE5lX0GQuO254QZ8R9pBDDD/A3YW3PAe?= =?us-ascii?Q?evdEvCojYel4ENr4ta7ButcJ+xefqr3Kb2kEXLdEpmxf+spU8K3mO8oggr76?= =?us-ascii?Q?FPW5Yft1NHo7k6WbuJ4pvp6/TqOXEUYGtM8BKbKbyVjz0ppifR8+XCrUWgod?= =?us-ascii?Q?Gf6zXxcEEwTfnz7R28E0x+PAEtz7PJ4iSjS1L2ionaJf49CZx1hBgi0/5qGP?= =?us-ascii?Q?AIY3otdDM0+ESP6ivXFdX9uNo3YfyBffS21hkxfVrUNnJlmUZsYRprOtv7Bx?= =?us-ascii?Q?ZNTunqG5DQPVqTG0cNA4C+XMLE3Dq9WlISAEbKEUQzGeIbIRotTGMuGfwU9z?= =?us-ascii?Q?nsueF4AvY1AfiaC0/sSx+0Bv2fNWsAiNlXJy4WxxL5A6j2GrVEwvbQlTP8u/?= =?us-ascii?Q?I3VRGuu3bw1QMtUHTCxq+Zcq/wQOn5z2fcV+WPynRdQWmkviKOgycsd0xmDt?= =?us-ascii?Q?LaB2sV+x2PCd/1AhSjHYtcJfJuBONcSkiQm+s7bAzI0W/LQ4sLOtSDK9dlTG?= =?us-ascii?Q?5OFGZnTk7uJIHS/SNwS35LoA7KhshffPdqKZRKUrjTtGIOOMr5XCONvEar00?= =?us-ascii?Q?8Cz5qzBH3nPByGcW2jMvA0KoFfe1ZAsix4SeUVCYM+AziW5q6dQNqH91fVjE?= =?us-ascii?Q?5nUZgpuS+fJxeqi58XgtTuvw6siGpcTIqfpQLVqOg8q857ZB7qJxiRcLmOqk?= =?us-ascii?Q?FFZ2oYmBIlu5HtC2ysXrISbzNixB5oZffd8oLZErGuj/HHF3wXM85vw8JtJu?= =?us-ascii?Q?31KEytD6jK60PU0s7K1gqb51K0BubEvsGR9RsG1cx5dhFIgPdRnB+85ToqLi?= =?us-ascii?Q?Zq9qcsJo4NUT9BPBpJ8TLkT8unI5oVWDRGdz97026UoDekO+LVQjCWNw9rbu?= =?us-ascii?Q?BS+aNNifJ3Huzba7SDJkBhw3iBlN0ATq0Ye6MsmXb/ngPrG1o17c5Zgbclbq?= =?us-ascii?Q?FPHs9PXEsd/BSSEdAo21oWqAquYA0QlWr5agPJ9O0zeS4mLZmj79y2Hcrl0E?= =?us-ascii?Q?N1PMlGCjlm2XlkmPWw1d+USeEH2Nc9Qy4cc4wqSh3kWmqga2EKKm1aOTeO8s?= =?us-ascii?Q?OOfA4s7jqbmAtfVZHh7VTQ5z8Dzeuq21xhqd8qnwxKsfSqVy76PeHcEYpe0n?= =?us-ascii?Q?wprCmlkYGFgijp5BlHVMVdbFp7KGkpLCiVZx4mZY0xYH+FmwdjFvWt3R6v/p?= =?us-ascii?Q?QXbmawdF5UfW9ziuH26jC5ksQITY6PKzcmWOjDKGfJIwu3e7MO/xjRanHakz?= =?us-ascii?Q?hp/v96tlLe063osSHENsUhn8hq48Yz72o5wo99ZypVi9Qwz9seeVNNcXMktx?= =?us-ascii?Q?fQ=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 414444bd-4037-46bb-69d7-08da90e0615c X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2022 14:51:01.1397 (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: eqLfaW3K4DCOzXzjYN3dihSKMjQ9SaCRjBOuFlfWe/9zcDHMjgV+xDWhtIgMW35ct5H2zve9UMuU0A2OalCuoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR10MB6023 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-07_08,2022-09-07_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 phishscore=0 mlxlogscore=999 spamscore=0 adultscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000 definitions=main-2209070058 X-Proofpoint-ORIG-GUID: 9W-rLXVrZD-OjkjCfWBDdD3fjxf1xeIA X-Proofpoint-GUID: 9W-rLXVrZD-OjkjCfWBDdD3fjxf1xeIA ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1662562283; a=rsa-sha256; cv=pass; b=RY72x1haEbBGQ8HtCIph1YNECxK+ornSQBg9USKn5LVmR5zbPlgxpb0jPIwicqAGbUn5s1 YlvY8wmQUXTGjOvm2fTglHcKR4hY4qAxeP9K5GmVhLbgiV3M1wdM6FcbGiPX0gCjZvxCSZ zt+isIq8tJL2kQhDeNhaIv4rJR9jrzA= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=PuxjXWw+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=czEReb03; spf=pass (imf15.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662562283; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=06IYX+s6J0ifjnF0wVX8PbLQ1Pe/utWRZi+cnRZUtrI=; b=gAyppLasBSkDy5gU7LdZso+/gVGcnBJAW9qwP/hM/DqEvJPyOoyvVfcMITw1i8jzEiNcQQ +v5rcj/CO/hhOK8CBpjH0AC1/+WiDeuqmsPdjEdydCc8X9c8H/kum7fcl9m98yXMOq20lQ 4Cmp0RVs515hZFs65KayMD7QE55ek4M= X-Stat-Signature: jz75oyxh47eyffzeyh5rwbwmgoq1zdgz X-Rspamd-Queue-Id: 6EC77A0067 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=PuxjXWw+; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=czEReb03; spf=pass (imf15.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspamd-Server: rspam01 X-Rspam-User: X-HE-Tag: 1662562283-765247 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: On 09/07/22 10:22, Sven Schnelle wrote: > Mike Kravetz writes: > > > Would you be willing to try the patch below in your environment? > > It addresses the stall I can create with a file that has a VERY large hole. > > In addition, it passes libhugetlbfs tests and has run for a while in my > > truncate/page fault race stress test. However, it is very early code. > > It would be nice to see if it addresses the issue in your environment. > > Yes, that fixes the issue for me. I added some debugging yesterday > evening after sending the initial report, and the end value in the loop > was indeed quite large - i didn't record the exact number, but it was > something like 0xffffffffff800001. Feel free to add my Tested-by. > Thank you! When thinking about this some more, the new vma_lock introduced by this series may address truncation/fault races without the need of involving the fault mutex. How? Before truncating or hole punching, we need to unmap all users of that range. To unmap, we need to acquire the vma_lock for each vma mapping the file. This same lock is acquired in the page fault path. As such, it provides the same type of synchronization around i_size as provided by the fault mutex in this patch. So, I think we can make the code much simpler (and faster) by removing the code taking the fault mutex for holes in files. Of course, this can not happen until the vma_lock is actually put into use which is done in the last patch of this series. -- Mike Kravetz