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 D7447C43334 for ; Fri, 17 Jun 2022 17:17:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2F6FB6B0071; Fri, 17 Jun 2022 13:17:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A4CF6B0073; Fri, 17 Jun 2022 13:17:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D1B56B0074; Fri, 17 Jun 2022 13:17:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id EE7776B0071 for ; Fri, 17 Jun 2022 13:17:53 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C1A82349E5 for ; Fri, 17 Jun 2022 17:17:53 +0000 (UTC) X-FDA: 79588385226.17.B5F99C8 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf17.hostedemail.com (Postfix) with ESMTP id 25F9A4009B for ; Fri, 17 Jun 2022 17:17:52 +0000 (UTC) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25HGWinn029748; Fri, 17 Jun 2022 17:17:40 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-2021-07-09; bh=XVxRJ82XOdiVvEZ5MmBaX15OTgwoVpsK4b43iaGl2iU=; b=erbMHGgMHu4MLzSrHIr5eS3s2PY6lYtzK/U2bv0hdfvhpjg3iM8kQlcDzUO85QQBeIwX /uhYeG03/pEvIVX0aQGWBXpJJJI5XLruCK/XbCv+WJelVnsQVmO4c4l1Pf5SweuPxgRI 0mSr297fIS9kKQtf9TYLOsNO8RzJmQiW2sL0uSgXennu1KLIfzkNY/sc+E7pCJJFFDat edoWjnNnPidPAfXwcCy2jtFhLoxKPWMVIy4z5RYWka7tjkl7kv/8WICl/b445LPtOgab SP7p5TQVb3eSFO5OL9VcvWKRqQ9zGtYKyDrz+YrBwUwKu2fb39a6zUWodnVOMo/H7TEv Jg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gmjx9p2ub-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 17 Jun 2022 17:17:40 +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 25HHGKKT032158; Fri, 17 Jun 2022 17:17:38 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2043.outbound.protection.outlook.com [104.47.74.43]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3gpr2cpteg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 17 Jun 2022 17:17:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OpR2/gB1Mh6VN7vRuTyiYSWFgEfl4rkpmULEkaZh0HG6oY1qqAP6f5Z5q2GZwiyfRiVN2sUmNpTvJdv3ETIC8WpRJSJWQv30ic+eVvQCRxXEdoa7zZ21y1w5QBX5VimiVxPzu+3/11erB4Krbd/+axXUH7SU9KMe24lpIhosRM87ZRIBxWC8uDVKBbayi8fWYMnKAXiOm5RqEPEMXqCZEYgrkD3YoM/4i+5fWrh/TSJoFdR6TSLumdBpi6233Pn9sJt6pxSv6VhDLIW9R2c3abi7OoVaMc5bwVX3kZ0LHAl8MXmN6WYBzx+ZnLzmMNBEyy4B52ffGgFZ0yUeJqsdBg== 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=XVxRJ82XOdiVvEZ5MmBaX15OTgwoVpsK4b43iaGl2iU=; b=J8TKODixMEyA833zryP+b1SnEmAF9N33Jpc2eCwsFa48RAs5/QLIeTymedcNRLNx4R4ZBex40A4z5+KJO0CO6oCy5I/RTyQ342g1jDeCkPeSlpRKXBzuvow7KzcggLjkPJNPf6E19MtJ5KuHT1aSdulqhyib3lZJjimFEc3YmbawYk2Pb1vWCP0I1joyqPrHjLc5N+PoHe9xVgermW1fhOz+qsf39He60O7O+Y6CXOztbyPKCre9qqgyrjOPW35bvILEaCGNztpjwtjai93OaEoHGe4IyonNPztVWRX6WOa4jWHVu4qTx89SvaN8+yKnh8ebDxvX9PhIebcN1GUrpw== 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=XVxRJ82XOdiVvEZ5MmBaX15OTgwoVpsK4b43iaGl2iU=; b=xaL693luW/GvPsWyHdWSSXohBxpL3/iI7jzjp36JKtA2bOmI3jFmtoO9KgPl54l5dUL1S2EMroJ9LA6BpkbYKAgGD5Fir3+PWA9WkpJZEdCR5QE/rRXutjjjjEcC1ZQC5VQIxtuA/t93fvZ0go0KTvUjmigt5h53DDeIRGb11VU= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by BLAPR10MB5012.namprd10.prod.outlook.com (2603:10b6:208:334::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.14; Fri, 17 Jun 2022 17:17:37 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::2125:9bb7:bfeb:81f9%8]) with mapi id 15.20.5353.018; Fri, 17 Jun 2022 17:17:37 +0000 Date: Fri, 17 Jun 2022 10:17:33 -0700 From: Mike Kravetz To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-ia64@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Muchun Song , Baolin Wang , Michal Hocko , Naoya Horiguchi , James Houghton , Mina Almasry , "Aneesh Kumar K . V" , Anshuman Khandual , Paul Walmsley , Christian Borntraeger , catalin.marinas@arm.com, will@kernel.org, Andrew Morton Subject: Re: [PATCH 1/4] hugetlb: skip to end of PT page mapping when pte not present Message-ID: References: <20220616210518.125287-1-mike.kravetz@oracle.com> <20220616210518.125287-2-mike.kravetz@oracle.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW4PR04CA0082.namprd04.prod.outlook.com (2603:10b6:303:6b::27) 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: 3dacc1e4-0ed1-4ca2-02f3-08da50854606 X-MS-TrafficTypeDiagnostic: BLAPR10MB5012: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: jcLPFV1FtNB23jOGZ0740jO+7EFR50PVZC27yaSXTR4bxE363gZOnwuusMxGwQJ8zFeoURAJhWSKTSEqEKQ7tonQFKUi8qPW+JvBfvOthcVFGHX5EyVPZGzW+oah92S4fEzDIwt7NS0gQ6Ix+suYwHRoBqYRaSJXTkH0z+kzphvnNM/8B6tNAJ04sxYJ1r/ZdXgyxr/3u9lZm/knAI8FvWFwJqydfB+fpKGY+o9wA1Ilgbx985Ajq++lAsXUXrtO5+WatdctJ3d+MatsWEy2mucfmG3FKFRCycllw648CpBvGimibkV2XnKc/fKxCpgc16kE23Xs4Ga5yXoD8DqiOoc8KPK6u84NE3u4ihLn/CgrAjrQxuBAgLFvaRw6Xv+eLeqOKlR3/vRPROAeI1anoZz1Ha+WUqIM01brCx/6Y7NC7QR1AhSlkMZ9bNn0+zfT3AC96sh0wpa8IiCvJ5mOT40R+qxjCqCpODGjMYRALx05UI04Rj8mqDQgHO5EN5OythCr6cKmvXKJHzPSNikkwpI8Ch2URZ3mP/5sOId3B9BKXC/QBb6ffwb0KkodkEMGh/9Kpargw5mTbqpr80j66kTgExYuXiXSLDjzjaxI0gDXMHtCG48S7V6bP343F442OoV/0G8bIKIyjZdYbOTgRw== 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)(366004)(26005)(86362001)(186003)(66476007)(53546011)(9686003)(6512007)(6666004)(6506007)(83380400001)(8936002)(4326008)(5660300002)(7416002)(8676002)(44832011)(6916009)(33716001)(2906002)(316002)(6486002)(54906003)(66556008)(498600001)(38100700002)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+tvRui2vNiOMtw+P00Edn4f+yIuGOMup7XN4vAVmNRKf4MM22b8vXphCyC+Q?= =?us-ascii?Q?sW3ih+vb8hxZn5+RNXKGXtYyTjaMHbii1TVGrfT8Z6w2mr4QMIBoLjkWRy4p?= =?us-ascii?Q?Iil3licJOr2VSwXUJ8ZGtv3edHcb9uY1OR5vSIWR6NBixzckozqbiPdFVZbX?= =?us-ascii?Q?uzsSBSWsgghDaO8J8C6BhOzneyZZCd0n2kDyVw9cdabT9GVAmrTxMbjy1f+h?= =?us-ascii?Q?g9+Ct9oxo8i7oGtS7A7GG5VxJxQBi+JF5hTLKiHEh43apv+NnVVDbQ17Btoj?= =?us-ascii?Q?+wjVROi0f01oxxYxlDQN9Yqs7Sw2zCb6zgMMTzlIKyuOh2knDop9Gyns8wgw?= =?us-ascii?Q?8Z/xBGk13GEJiaIdytoxSnaFQlIG1wPCpp5NN6AnQ6P5bJV5iE9H44jY+4jL?= =?us-ascii?Q?Jl7yV9GkVdZBvgpx4Oud7yJZrttgN5uBZmA1Zd6S5mfx0bZLzEPkxn4BvOCx?= =?us-ascii?Q?VFwb/Mp2gzO1T2ZqOGXqo0r8I+3Dtd4OlhMu1BVf49C2ff8WlG2/MFOpKsWo?= =?us-ascii?Q?3awwdS3OffAY1JPpeg+pa7aqQViu0eEIAw6Zyngr8bJIIF7Eybo2nkP2IENo?= =?us-ascii?Q?fkQinOs5Ciqolxjb+tJaTc3bWLwu0PXJjf3YKInNONciUCNpI8r2XwT2DIkS?= =?us-ascii?Q?3WvyZbyI2SQhB+rLpWD8F0UfGmp72wapyBj0LUWkEqfnAVr/PstQe/uO9Lp4?= =?us-ascii?Q?jsxO6r3aieJx9+z2QLeBkCJ99HyaDukybPxjgNHAfgm81mcC/2XEWXHD+wHi?= =?us-ascii?Q?Wvp7X5CyCJEa0tEJgtdMjJ0LIkLZ0GAy5lnA4rIjHNg/f/HsCwuzz7PkE3xy?= =?us-ascii?Q?NjLsAPcJEXYlJnsO3W3jqyIaP9KkniOQkY/7VtWGZCynvBtBTHsQM3Syx91f?= =?us-ascii?Q?EDPGAsQL7a5AoymC1ji8884vBL44xK3vqcTleeCdNiskMn/v1KFqtUIva+Fs?= =?us-ascii?Q?RyS582p2Jlrgg/PLXeFIcBzVZM400TyJpPvmnyEMNvnkMVc8gPWB1trLAgqu?= =?us-ascii?Q?fOZhJXPhq1A1rdTtsH3u88ldc1OvXQH5/EP3NS/A52eElxcbzXDdeGshdG4l?= =?us-ascii?Q?zGTPcUsObtqEphN6EvUVcXEyZo1jrpNW2B60piG+TlKYNDzXeRKLACCvVZ0g?= =?us-ascii?Q?5gs7Ng7FLX2J2ltHDsYkuRaxXxP3UfxGSv/WWdOJcvxQKfN6tHMfOJa71b54?= =?us-ascii?Q?KcduWWwBfzBnmTDxUaXr6c/E4CAUEYffNpyxLbojeYEd9YtpFVUKx9zSqV79?= =?us-ascii?Q?227AopB2zSOoRNdx2O9oF6nMZsZOw24bPKc/H9YvGqba6pCgugVu8abSmW7E?= =?us-ascii?Q?oiKNPDfOolmBw9LF1pWL7XSAXL9inbnc4sva6+QOz7xohsOqpeGpf7uMA7T9?= =?us-ascii?Q?jbY5SvA/TxMQExxYQjFfPK8LLLfTOSOFnPffb0rCTNIARfPzvJHhJFLYwd8K?= =?us-ascii?Q?fCJsv1gqkAB2ij62f43bMKo7yW0SUKNSH/3a4lOfHPVpRkTEUJKf/2LhZNF5?= =?us-ascii?Q?PwF/VQZTjgTf98a73/PcRXNuDCXVw9FnaJzvhzuoNH8aA+nQ120ACKitZaO8?= =?us-ascii?Q?QwD8kAr4jLfFMIGsQ5yQnzhcYObeOvMvIw5xg7qDtDv3OkxifQzrD5xAKVRG?= =?us-ascii?Q?PgcOLBmFBHXtDE/zNw10rJwDDByC8QSVSXHINsjqF9MYMJWE9hyIF9Y5csNv?= =?us-ascii?Q?CJnvJBo1dm5k/CWo8fgrBD4B4KOmf7qlJc9WZc9gU8c2iHeZaOhWrGJiqI2e?= =?us-ascii?Q?z26suodgD1K26aBOkCWIeaZkrRNc5wg=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dacc1e4-0ed1-4ca2-02f3-08da50854606 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2022 17:17:37.0442 (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: X285A3sLaVaQNxmu35wmdKJE6RBz0Px8kdetktLLkTHYR3sT78wE5yum6nfkaVLyfT5OOxCRlReN74j1jxs48A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5012 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517,18.0.883 definitions=2022-06-17_10:2022-06-17,2022-06-17 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 spamscore=0 adultscore=0 mlxlogscore=930 phishscore=0 malwarescore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206170076 X-Proofpoint-ORIG-GUID: uFxYy3K3aj7qt2ddKTp7DefyBONlS15e X-Proofpoint-GUID: uFxYy3K3aj7qt2ddKTp7DefyBONlS15e ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1655486273; a=rsa-sha256; cv=pass; b=qLTJ9BDJ24oNENrJA+hEx8OWWFE9GUoTYh1PgKJQdevgDnV0LNSvqThMSz84CTOZKM2usX G1mmCmh2PaMV2XNr+ugeYXJIwQB3q5bqBFBBu5qAH/PjmzdP4czuDELyeE02+Wqun0kJnI 4zIhptYB5g0F2xQ2suNaGiSTOY2TVD0= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=erbMHGgM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xaL693lu; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf17.hostedemail.com: domain of mike.kravetz@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=mike.kravetz@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655486273; 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=XVxRJ82XOdiVvEZ5MmBaX15OTgwoVpsK4b43iaGl2iU=; b=vybmli8AzFsui2m/2phzUdr8VXhUUDd6Kbc7hww9jqHjNUTxlYTEUyyfYITk6rBnohrx00 dSG5xzDyIU4WUdRK3OvGN2zgDazsdFk4REG/3A5eDZktgxEvz+VPI3p4CAGfmbvo3kJllE MB0CBm/Kl2cVLY2Ebod6PE/yeN+a8yw= X-Rspamd-Queue-Id: 25F9A4009B X-Rspam-User: Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=erbMHGgM; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=xaL693lu; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com; spf=none (imf17.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-Rspamd-Server: rspam06 X-Stat-Signature: qtf4qec7x71g4bqsgqzi1737oybaadd4 X-HE-Tag: 1655486272-396444 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 06/17/22 10:15, Peter Xu wrote: > Hi, Mike, > > On Thu, Jun 16, 2022 at 02:05:15PM -0700, Mike Kravetz wrote: > > @@ -6877,6 +6896,39 @@ pte_t *huge_pte_offset(struct mm_struct *mm, > > return (pte_t *)pmd; > > } > > > > +/* > > + * Return a mask that can be used to update an address to the last huge > > + * page in a page table page mapping size. Used to skip non-present > > + * page table entries when linearly scanning address ranges. Architectures > > + * with unique huge page to page table relationships can define their own > > + * version of this routine. > > + */ > > +unsigned long hugetlb_mask_last_page(struct hstate *h) > > +{ > > + unsigned long hp_size = huge_page_size(h); > > + > > + switch (hp_size) { > > + case P4D_SIZE: > > + return PGDIR_SIZE - P4D_SIZE; > > + case PUD_SIZE: > > + return P4D_SIZE - PUD_SIZE; > > + case PMD_SIZE: > > + return PUD_SIZE - PMD_SIZE; > > + default: > > Should we add a WARN_ON_ONCE() if it should never trigger? > Sure. I will add this. > > + break; /* Should never happen */ > > + } > > + > > + return ~(0UL); > > +} > > + > > +#else > > + > > +/* See description above. Architectures can provide their own version. */ > > +__weak unsigned long hugetlb_mask_last_page(struct hstate *h) > > +{ > > + return ~(0UL); > > I'm wondering whether it's better to return 0 rather than ~0 by default. > Could an arch with !CONFIG_ARCH_WANT_GENERAL_HUGETLB wrongly skip some > valid address ranges with ~0, or perhaps I misread? Thank you, thank you, thank you Peter! Yes, the 'default' return for hugetlb_mask_last_page() should be 0. If there is no 'optimization', we do not want to modify the address so we want to OR with 0 not ~0. My bad, I must have been thinking AND instead of OR. I will change here as well as in Baolin's patch. -- Mike Kravetz