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 6781DC54E4A for ; Thu, 7 Mar 2024 18:12:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF8846B0252; Thu, 7 Mar 2024 13:12:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BA7B06B0253; Thu, 7 Mar 2024 13:12:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9D33B6B0254; Thu, 7 Mar 2024 13:12:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 879886B0252 for ; Thu, 7 Mar 2024 13:12:41 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 30C6B80722 for ; Thu, 7 Mar 2024 18:12:41 +0000 (UTC) X-FDA: 81871038522.13.E946CD8 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2082.outbound.protection.outlook.com [40.107.237.82]) by imf07.hostedemail.com (Postfix) with ESMTP id 1669540008 for ; Thu, 7 Mar 2024 18:12:36 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OhuCmkxs; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of jgg@nvidia.com designates 40.107.237.82 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709835158; 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=KFgnQjgoufUaTm3fPJGsTSnRLxse/CypBcBcKmOiAWY=; b=OsJbiFTSFmXljm553x1CyanBdmIiQ663BDEnrtcOEqxX6lmWhh0KUrOpHbInKnFxVRUHu3 hhCcgv24XIooY+w/4GU5GfSOz8HevWP5vpoQG0/fw6WXekJAi5hEdNXskxHBdVMkB1AzkE CUFPm+FUxMcuc4rqfjRzGmkM2bDnBJY= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OhuCmkxs; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of jgg@nvidia.com designates 40.107.237.82 as permitted sender) smtp.mailfrom=jgg@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1709835158; a=rsa-sha256; cv=pass; b=gVKZYdcrz5JACU+aWUuaxX9VEDAlATfGjx5H/HX5Ljmc/p4X3PvcOot8Da2k8EQ5EPxImP dG4DJTBPtA8mfFEoLL68u2QdPvv4yf0JHxEGkwltwHAqu00zuKnKpHhiRsUGHocwYItQSV G08LTcgQzhoZj+0ctyuwTMkQ+DzE7N8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Aac+y1qpLvXckwDFE3F9wd3xPUCmLhTKlzM3WRW4ItJJiKyHNgFGIcIJSsIL3H4M+jn+mCRZeVcIuj7sZOlmoYZg3i5zoO7RSUxkV8DPg4hS4cSu0P/zZiED0OdjmSWu1yzfT3FKFH9l3QNEcEAkylAu4lzzqYi+Dtf06RzyX5lw8sGKJYGe4EDvUfKD8aXEAGKnB50MOA+VaTG2QwVrM2iUoQnV5z/+WdvP/7IStJw8wgAOSQLlv2WshKL/+0bjbSAaK6tQ/iRDHZTKDgu3jRD0awQdbUvNBqXndKCfcfFnBvrjDwAVzV4E3/N2YELckqxOuERrIdryKSeNv4qiBA== 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=KFgnQjgoufUaTm3fPJGsTSnRLxse/CypBcBcKmOiAWY=; b=FnbjkyjD4pj0okuYXiKINxjRfb4M1s30an+DCjfYVa5r83+FZFTFYRvAhWwKFJG8QXlt5kdSkzbjM+3BeZUK5hFDpZP9T/lNPDn9jGity5MY3e/+TlYINoOGjZdVygISXtJF+3z6gWm3jtpXXxBBksZPW4p3Ck0aaIFypjvYCjrN6q7GJGVumIxdC1kjykGIvMoB2mVsIRKRndJXNtXGBrAcxYWVmeQVPaCEwFePoMt+lE3TVRNaCvQTnFL8EmfmcyfRZhDZn4er8H7AU8rHAH9Se0XwUEe/VyWPGzWDFcm6WJwiirfk67LrsrWf22Tz2dUzRO/zBN3J4exow6DD+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KFgnQjgoufUaTm3fPJGsTSnRLxse/CypBcBcKmOiAWY=; b=OhuCmkxsvO06jS3wA31c5ba1EGNzwrbYb6GU6xgSBb67II14zQccNoBLcN+5TNv9Gswpydy8PhH5PA8LgcJSUNIf9S8nQkLDrE6h6ZxAWbhvNYX1wQuTvixfB7Um4llbIOMp8xhd0F/ZHj9fOXfDU6bKWSHVjMetHhS4K8QHuvIt4mlIGpmvqtnh53Qh512jE+Q+gD4P7n3KRFx2eLrQLpcig8WMUOUdJ6KqOh/EQydjFq7afLTNmBjhkPngTyYJeeqJnI4SoSM6MBOjcM37UZ6v+PncO0JIKx08U7EsNWQyACpmnW9JnZ+znOSPgxkBJy3EH/FBEoRLuNX2ONeEkw== Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by CH2PR12MB4103.namprd12.prod.outlook.com (2603:10b6:610:7e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.34; Thu, 7 Mar 2024 18:12:35 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222%5]) with mapi id 15.20.7362.019; Thu, 7 Mar 2024 18:12:35 +0000 Date: Thu, 7 Mar 2024 14:12:33 -0400 From: Jason Gunthorpe To: peterx@redhat.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Andrew Morton , Muchun Song , Matthew Wilcox , Mike Rapoport , Christophe Leroy , x86@kernel.org, sparclinux@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Alistair Popple Subject: Re: [PATCH RFC 01/13] mm/hmm: Process pud swap entry without pud_huge() Message-ID: <20240307181233.GD9179@nvidia.com> References: <20240306104147.193052-1-peterx@redhat.com> <20240306104147.193052-2-peterx@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240306104147.193052-2-peterx@redhat.com> X-ClientProxiedBy: DM6PR02CA0148.namprd02.prod.outlook.com (2603:10b6:5:332::15) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|CH2PR12MB4103:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c2f4bce-b473-43d4-2f43-08dc3ed229f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8OzWZAzD4wGu+ZhmbjHFJwjh1PRO+ZKe5qTWCKBfMMQDOcdeNK/wLT/2Vw16rbMH6irKY02OLa4X4k1bQNudoCNFtIZTgvGpL+nOpQ+kbKbT0u/cI4gRBc73PAvLtbKhh4KYYG1ugSFh95+m3va1XMOaaWruFeKxXcfgqZEqf5osyVzWg5ya28X0qltLWjGxqiB4y+oSEGjnlb7aLKvvlhqf8F949yJ/zYuA/IxwUvzgMcNh74t8ZxmNWVwws8mwzhILTkZ7h3qsbV9+eZWEQgZTV9MVqePwJlO7oj4sKRvpaN56VBojXyhLoP+L1T0PjK/y/QaoenX0v15u8D5//gLx7POJdB8brFZfTs4VQl5JE1g7wJhLgwxESP10WeiO0op3K0WH2vZLEwOpcwjh8Z2vICEU9mUOSnqBj3j24+8j8kRjrEf5AGar9DmAGOk09Tzp2iPuGI+Y45b7ULocHkrBPF1oBIsft1bK0p0J9UzsNRp97ql5RJGWE7nRbnQcUt9TdftuV55Gk7XPpC0Z3JC3LiC9y6OiKp00zj4J95nFimVxrTX8QcgbH7U+gK8O0GBwyq6g3H4j3ci5MThEguRMlCkUxjuxYXzsxgNnpZmDtFY2V0AVmdlAoaa1KK1puisuxTLM7Dto7gXTqRawoCSkPvvVYHHTQr/m2Zmkg58= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0OEY1ADnp/GTumax52qAHWjssr78dG0sPMLOJb0IVsUOzBJ51mTitlPt/TYs?= =?us-ascii?Q?FJQyNHXa1opF3y2nVesF99wZ8uMg9Wt7zVppqybulrA75GhdS8YRCdNGHADo?= =?us-ascii?Q?Ywo14X/wqyie7PO3fEZd7ObDTC4FWcMfNNO3wAiT+u6q+OipBItTEyBj8Jqe?= =?us-ascii?Q?WcqM4qqVyeH/fkBl5IXckBf60/UTMZQqsgnclFEkVaKEG3yF+e1YhHDybpvm?= =?us-ascii?Q?mkpJGU7I/0mHLErqGxK7rh207g/ioa3lPahuXoib8T/vemrUJf9yHC+x9nCs?= =?us-ascii?Q?zRpMV24DULArA6AU4ncta/upB0zePc4bFAvHVeCSW1YMwu5A3CgKdazKIFFI?= =?us-ascii?Q?A8Ksny05Ekc8+usam41GV9JO8tUc4NcgL+w6Uii/MEVH0fK0DkwU9LRBLiLj?= =?us-ascii?Q?7AUBom5OljELnanzpbZ2sGcbRMASV5eIbBa8/iLxHLEYXWb409uGD9BdVl24?= =?us-ascii?Q?6e2ZCT5zfm5LmB/nOZXFzuu7qvMh80wmLlf38ZAdzyCY784R0xfW4tsskcNw?= =?us-ascii?Q?MFbjU+KFDy3Ro74X04m/wyqldlK6TEZOyKfE8XVVZ483MBBzy5QJlJO77A7M?= =?us-ascii?Q?qwgelKdkU6K/p5PhE5FaWQ0WzBmI65urriv1pKoKzOAPVAEWXMGK/iTh/xDY?= =?us-ascii?Q?kF+IrHgXRX7lw7qwpayvHPxieZK2MzaPN24eQLNQO3qK/vWj7yCXfiWzPrMd?= =?us-ascii?Q?2YNtCLoTjcRCj4lXUOYUa0vHMM3k3o1wr4OqBhgwKtxaVxRX8OkeKyxGAgni?= =?us-ascii?Q?8dZsqOtQj2YpOxEvMHCxBHKqWuS6lM9CFJxZTofqmTpwD7OQg+qHsi/TenLg?= =?us-ascii?Q?J0PECrWReCwR1EbK0IIUfTZYWc5qtdUhNoyrbDbiGd8YILaLGF3DwIvb32GT?= =?us-ascii?Q?QL5oVdFqcCP6XpfY1RpClDyLAJIDiLyRopQWekCbAIQeeY14/aLqAgqi4GUX?= =?us-ascii?Q?bPfphfER6WmeQOzKHDpvQVR9hmqaIYDGLPnflx5xzeD5nqbSXWJXKUvufQWz?= =?us-ascii?Q?4RsFUR6aM3fzsXbRUlVtqfMPkypoY7UBtcupeu3X0kMQQBraEYdWx2Qx7cjx?= =?us-ascii?Q?EkvCf2yt8xuQcKTp5IfoItpR8WyIR/2ynMJHTKM1RqJQnJaLIGiXt4yWCgoi?= =?us-ascii?Q?8d2nbkNL1MIB9ZjMHP+BAQKTYh7SA53jk2+1FqypTRNBWUArnZJkw0iSUM5z?= =?us-ascii?Q?qTlMVmeO07hYQVLC1XOIF3Tq0Y39iS3tSmT0y8uNec3WKRtyu2VctjM1jRMt?= =?us-ascii?Q?cya9X4HZWooew6sWvNz68FJ5Eh2ZIp8iDBtEC7oV67OcnT9Qr2Waur7cfWgz?= =?us-ascii?Q?GricnLfgWRJs8IqYQCV5Zhho1WuwIcuW7JiL7AZvCAAMtlcpW7jIrCydMsln?= =?us-ascii?Q?nL44IjV9Ghzq7lEUk2BOhToedj6VQVANLbyUeskDs4iIK6xB0s9mGGEcza0W?= =?us-ascii?Q?kHkaXYBAP9UijX+UMXQlpA1rhYYVriV3+LMg33nmFJvWW9onFJK8xKVl9nQM?= =?us-ascii?Q?UJRdqPUEv5vKY8hkPVV7K1FkhzuySmA/DUhF2QURrWM+TY9rJsUZVqqdWrfT?= =?us-ascii?Q?n4rOPfWiddaK/lxiJs8=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c2f4bce-b473-43d4-2f43-08dc3ed229f8 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2024 18:12:34.9530 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: oDaSfweMRgzwTW+LbEJp6EBIZZimtA7yY3v7rYWNY78sx8dJIVSVVCqGW8nFiOJs X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4103 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 1669540008 X-Stat-Signature: hy8b8jr8wd3udfes3ebamsxnmrfjaat6 X-Rspam-User: X-HE-Tag: 1709835156-508357 X-HE-Meta: U2FsdGVkX1+O4/k0I5tZlmuWQLeytFecRX/hgNJ+sb4l9a4OVLIQAgQ9jOEAvr1AuzVNrBn2qMiMl3lDUoyQJO6GXyVf0vEiND10eOWJS2PESQuzpfr3jGY9wTIU/2A6sA90voG0dLIYM0JpYYTDDZyOAUvF6r5E6KC7acxFJYPkiJDi0S293XtOD/vTaXhOnyPigT8GdAh4CdPxiZtHIdOkARBsHh1SqMa6473Wpu/mHh1HyWE4UG6a3prZnpIP7k8a/HvJsCfd4S2H/18lWpk4YMXcA3KKIOyeNsp6mOUdcIPE0/NtlsabCY35XkaDAgbhbfUegt0Sd90go7q8idiGK9rHUt8GqkacHe7phxj8Ly2ntwuMO5hPljZtKH4oPQvc8ac39SOdcTpc7dPQf+RQmYvMRZx89mLC6K4JzZkgRNrxPq69YAw5jodziIp/++x/puDyk8bdYa1XXgJaW+WPW5XhBosI35tvQRoQiB8TBy97UvBbReEE8fP2XFOOzqsUHyG22ka5dicVR9eeDao/W8whncG74gWfTfmK78N9g/ijEQQ40TH1b7fFaTMWPPFjbW7nKT5csbZQpulgPdLRaN5+8JzCsm/tgNRZpxG38xJpOny25bONEHJvkp1WyCV9b4Hoc5F0yJ7wez0VoB3wiPOq5fQVFQNMY/dpnj5uu6sZbhiX51YlJFq9jBFbMMSe6jpHvBlfsZS4Qk56xNN1nZnCQYTDjRd8C3X6zwA7mIwdZlukXUXSzg1vPMJm3lV2XNnKLxkHb8X3TQzPFxnvXNq8xCKOrTpP0URGT9dFFdHfgBpMOsQyz1rL/nHn0UZ0XrruGxKuwyT1q9Y/pguFD4RgGIOo8b6OAsz/LaC2icGOHeJ+eFsmt4y97t2I1VH6+0qkhlty6qQ+lZXj6Ca7vaLQl3vr4sCYiNDkIRQIWR3Ujk20X9wfJBQBV9X6R+ZI/1hHxHqeP+z0NKs i5CijNa4 KJ58Z7C/ZBeMMzxRoYpu+syUuKxGUJ2h8+UH5dhLPkLJf9ReT2RSvlS/GguznGhNfzt+DwvbxmL+MGFkEFBGMRDY5VD/gJyPAYWHs4LXR3O0edUudAXC0ZeWpvP2NngQHuPfTut0DZ2nOeIp5b5UcsuC8CKuHTN+nJqtM5N0PnP9DQ/dxDXbRdKf6EfNFtafy8feiYVu+yDR79+nV0Opwzm1hNDlfinZXQqgqNRmYQysJN7G167V+MX7jXaKCeYsS4HpTUXYSv0hzA/gyS1Gex+dLlLsIjW46dcFF3rvAt5jOd17GwvU7F+efbQ== 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: List-Subscribe: List-Unsubscribe: On Wed, Mar 06, 2024 at 06:41:35PM +0800, peterx@redhat.com wrote: > From: Peter Xu > > Swap pud entries do not always return true for pud_huge() for all archs. > x86 and sparc (so far) allow it, but all the rest do not accept a swap > entry to be reported as pud_huge(). So it's not safe to check swap entries > within pud_huge(). Check swap entries before pud_huge(), so it should be > always safe. > > This is the only place in the kernel that (IMHO, wrongly) relies on > pud_huge() to return true on pud swap entries. The plan is to cleanup > pXd_huge() to only report non-swap mappings for all archs. > > Cc: Alistair Popple > Signed-off-by: Peter Xu > --- > mm/hmm.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) Reviewed-by: Jason Gunthorpe > @@ -424,7 +424,7 @@ static int hmm_vma_walk_pud(pud_t *pudp, unsigned long start, unsigned long end, > walk->action = ACTION_CONTINUE; > > pud = READ_ONCE(*pudp); > - if (pud_none(pud)) { > + if (pud_none(pud) || !pud_present(pud)) { Isn't this a tautology? pud_none always implies !present() ? Jason