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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B38B9C54E58 for ; Wed, 13 Mar 2024 21:50:21 +0000 (UTC) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=YeQc9kMI; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=VXnQY/fI; dkim-atps=neutral Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Tw41m1jBjz3vbJ for ; Thu, 14 Mar 2024 08:50:20 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=YeQc9kMI; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=VXnQY/fI; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=redhat.com (client-ip=170.10.133.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=peterx@redhat.com; receiver=lists.ozlabs.org) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Tw3yX5v2vz30f8 for ; Thu, 14 Mar 2024 08:47:32 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710366449; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=YeQc9kMIJnzFU21uNz/0XHapVQ9Ht6kAArhV6nFscCO+u4Lyrd/27NENelJ4Y9/ALASmOm mUtqIW2Q16T8MFmN3O4retQ4Kj3oRXPdyJxA3kgi+kOWh5ncoPkYkqdeNzVy7JWXF9ZpZN 7YdzHxsHD1HBpRIkZGAXFhBMPufFmPs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710366450; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=VXnQY/fIA42ABTURCUTHr1O8Sz9e60YC0EdfofP5vjF9xj0Z7H+iGHE2dFSiMoMPOr+4xf jOYOhzpfawAj4IeihSWJu2uFNhWRFsrBmXeBlE0VjQM3ijh6d4rth3heBBKaE51Vsw9vIe OUCpf3jaXnqKo6YgFcmYG0EgROaN9Dg= Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-272-I7S1HcS1OrSZH8PYkxsPNw-1; Wed, 13 Mar 2024 17:47:28 -0400 X-MC-Unique: I7S1HcS1OrSZH8PYkxsPNw-1 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-690b5ad0e61so1037516d6.0 for ; Wed, 13 Mar 2024 14:47:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710366447; x=1710971247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=MTXNQOeNBf/MX4e48S0ylJZsLaETUjD6ihuMUUbq4RGVIgSzbevQVfhL+y5N2b7E4z nc8Gk4tt53AaJ3plQdTjLb4BKb9ic5DFwNipbWn0Ew37gxyMBZobTV2N3FF0G+hGeQHa 7wWrYpKa9XOTV2dO5iKlGKXldysINf4zDDpI6pcX5A4r3Ug/I0HIwOmGml405STslcWY bpONUfGpVfRmFce4ykHzanjtfjA7oEachDWHSOQLp4xcWfkdOIJxxUUboJtx/QKCkfKK qaUvlwterRAlwnCIjSh9LYGep2tMoG8N+1yWehiMXBbBIRfOD4JJo329/bG1+OWv/2ac 1mkQ== X-Forwarded-Encrypted: i=1; AJvYcCV1Epu5xjvG3uxhXVvQGWsdelhRTHSi51cLHzyWiUzZNDN9agGLQIHHACr/eLnwkePmOCbs8AssA4+lcmzl4u7p6E0DDJ68CDXmANftVA== X-Gm-Message-State: AOJu0YwhSzAHs3wlUUSGlPujeL/06Xut+oI5zXBLkWXy2AIHUrCfMQN8 fFtu7xbiZ+0ZwGnKQ9ycEaUN9v7UpS4FCQb9JVADQ8nPRWv+hNQcMzdXkD4VHDladoFghClysLo TRhsoA3aKTldp6OrnjuSjS4d6GrQKAvWteKiJ6rpkAkkpt9D9Q1sCVXKW8afDvNI= X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464427qvm.4.1710366447577; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHIi4iLkgKJ4BRvvEEi/kkT0r+z7XC1hachuRmolyjwCQk4v8XzYiXmWJ7FNVheaziOarzFKQ== X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464414qvm.4.1710366447219; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) Received: from x1n.redhat.com ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id dv10-20020ad44eea000000b0069111c5cdd4sm60114qvb.100.2024.03.13.14.47.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 14:47:26 -0700 (PDT) From: peterx@redhat.com To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 04/13] mm/x86: Change pXd_huge() behavior to exclude swap entries Date: Wed, 13 Mar 2024 17:47:10 -0400 Message-ID: <20240313214719.253873-5-peterx@redhat.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240313214719.253873-1-peterx@redhat.com> References: <20240313214719.253873-1-peterx@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Muchun Song , Jason Gunthorpe , x86@kernel.org, Naoya Horiguchi , Dave Hansen , peterx@redhat.com, Ingo Molnar , Borislav Petkov , Matthew Wilcox , Mike Rapoport , sparclinux@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, Thomas Gleixner , linux-arm-kernel@lists.infradead.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Peter Xu This patch partly reverts below commits: 3a194f3f8ad0 ("mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry") cbef8478bee5 ("mm/hugetlb: pmd_huge() returns true for non-present hugepage") Right now, pXd_huge() definition across kernel is unclear. We have two groups that think differently on swap entries: - x86/sparc: Allow pXd_huge() to accept swap entries - all the rest: Doesn't allow pXd_huge() to accept swap entries This is so confusing. Since the sparc helpers seem to be added in 2016, which is after x86's (2015), so sparc could have followed a trend. x86 proposed such swap handling in 2015 to resolve hugetlb swap entries hit in GUP, but now GUP guards swap entries with !pXd_present() in all layers so we should be safe. We should define this API properly, one way or another, rather than keep them defined differently across archs. Gut feeling tells me that pXd_huge() shouldn't include swap entries, and it turns out that I am not the only one thinking so, the question was raised when the current pmd_huge() for x86 was proposed by Ville Syrjälä: https://lore.kernel.org/all/Y2WQ7I4LXh8iUIRd@intel.com/ I might also be missing something obvious, but why is it even necessary to treat PRESENT==0+PSE==0 as a huge entry? It is also questioned when Jason Gunthorpe reviewed the other patchset on swap entry handlings: https://lore.kernel.org/all/20240221125753.GQ13330@nvidia.com/ Revert its meaning back to original. It shouldn't have any functional change as we should be ready with guards on !pXd_present() explicitly everywhere. Note that I also dropped the "#if CONFIG_PGTABLE_LEVELS > 2", it was there probably because it was breaking things when 3a194f3f8ad0 was proposed, according to the report here: https://lore.kernel.org/all/Y2LYXItKQyaJTv8j@intel.com/ Now we shouldn't need that. Instead of reverting to _PAGE_PSE raw check, leverage pXd_leaf(). Cc: Naoya Horiguchi Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: x86@kernel.org Signed-off-by: Peter Xu --- arch/x86/mm/hugetlbpage.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 5804bbae4f01..8362953a24ce 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -20,29 +20,19 @@ #include /* - * pmd_huge() returns 1 if @pmd is hugetlb related entry, that is normal - * hugetlb entry or non-present (migration or hwpoisoned) hugetlb entry. - * Otherwise, returns 0. + * pmd_huge() returns 1 if @pmd is hugetlb related entry. */ int pmd_huge(pmd_t pmd) { - return !pmd_none(pmd) && - (pmd_val(pmd) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; + return pmd_leaf(pmd); } /* - * pud_huge() returns 1 if @pud is hugetlb related entry, that is normal - * hugetlb entry or non-present (migration or hwpoisoned) hugetlb entry. - * Otherwise, returns 0. + * pud_huge() returns 1 if @pud is hugetlb related entry. */ int pud_huge(pud_t pud) { -#if CONFIG_PGTABLE_LEVELS > 2 - return !pud_none(pud) && - (pud_val(pud) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; -#else - return 0; -#endif + return pud_leaf(pud); } #ifdef CONFIG_HUGETLB_PAGE -- 2.44.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 734E75A4E0 for ; Wed, 13 Mar 2024 21:47:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710366453; cv=none; b=iptQwPxC7OV/XzUI2OJZPLXRO/Lr8Jtc8giSHglGzJXwnD3SIQJSwmB1W+flfvpC+aUfIn4FHSXtzqWZQmses5phXkgqI1e/RR20uu62ij3gvBC6twj1jDFaT8F7CiATID9yWZoe3VVFjulr0Xy1uP2mYGUPVQ21PeBLh9R1wvo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710366453; c=relaxed/simple; bh=xsXv+igcIa2LD7vY6Lm1s+FcdmOPBabwjo2Ma8p3Wuc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=N2JzxgVq9rTeMTh46F+4FkezAa2iR4D4zX7bEoyMqFEq8mLLQCyaGi0W5dk+QHp6YZSIF4iIUCEGBFINkpHA37NXu45dZAvyrsI4+c8HdV2P+TtCNdVk02436a9DRG/ZnJWAd9nChtS9af3J89YLvDSIm67m90/osr9CvVSWsLw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=YeQc9kMI; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="YeQc9kMI" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710366449; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=YeQc9kMIJnzFU21uNz/0XHapVQ9Ht6kAArhV6nFscCO+u4Lyrd/27NENelJ4Y9/ALASmOm mUtqIW2Q16T8MFmN3O4retQ4Kj3oRXPdyJxA3kgi+kOWh5ncoPkYkqdeNzVy7JWXF9ZpZN 7YdzHxsHD1HBpRIkZGAXFhBMPufFmPs= Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-503-CfyRBOPCMEGfWcZb8xYazw-1; Wed, 13 Mar 2024 17:47:28 -0400 X-MC-Unique: CfyRBOPCMEGfWcZb8xYazw-1 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-690b5ad0e61so1037476d6.0 for ; Wed, 13 Mar 2024 14:47:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710366447; x=1710971247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=JnmK74NKCuNz7t0tdB8n7Xi5wq4dYxmz9x02rKHn2EK4nVe8rioAEyJ3vHhOOjdtBJ 0HeDZ26K5Jf9lSHVPUKLOvOoxVxYAbPXrU6x77ZoNXlu+ovzAUrYlqIRqE0QXds3uFtU E/87G/Ks9JAiyG9gXhzOrzPNrGURHNX+Bp39FaVZOQnAMrL8zt1iPGJ3ql5QjnoPSqDO aDFxD1DOACZxAXIbKH1pUjpjMwAHjcd57hMD0PUHj6c67+ACxHziHgF15c/xM5Jpuiaa kwr4dpJ7TT11lTf7kW0kNb9xFlsgkuy51azZ4KrGUdwDlwxYJndCIpLGtnqI4uRXfmky Z6Mw== X-Forwarded-Encrypted: i=1; AJvYcCV4zhNCkHgrwTnc/q0DQ1qbpteVwkqHiQtvcAAo3muHUG5YZ42pUiKJ7wWoQQP3/ZG2rrLzwP7n/piGrSYJmHPs76cQX/BRHPV7Hw== X-Gm-Message-State: AOJu0YxdjPzY1ILBYH0qx/ZWGLcDGehH2WXtejduloXexSTVnGe3jQqf QmzN3ZzLbCiCXb2m4XYfmmSgbqlgfOZ5RK4HXh7NtERh04LtER8WStb1INeGIZxToOahPRpvmyQ wL7nP+2mZyzmV3LnDE+a0yVwgJqDA6OwRrvREDUp0mMzhqjB/aueoY7xRfgA= X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464422qvm.4.1710366447570; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHIi4iLkgKJ4BRvvEEi/kkT0r+z7XC1hachuRmolyjwCQk4v8XzYiXmWJ7FNVheaziOarzFKQ== X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464414qvm.4.1710366447219; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) Received: from x1n.redhat.com ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id dv10-20020ad44eea000000b0069111c5cdd4sm60114qvb.100.2024.03.13.14.47.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 14:47:26 -0700 (PDT) From: peterx@redhat.com To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: linux-arm-kernel@lists.infradead.org, Matthew Wilcox , linuxppc-dev@lists.ozlabs.org, Christophe Leroy , Andrew Morton , x86@kernel.org, peterx@redhat.com, Mike Rapoport , Muchun Song , sparclinux@vger.kernel.org, Jason Gunthorpe , Naoya Horiguchi , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen Subject: [PATCH 04/13] mm/x86: Change pXd_huge() behavior to exclude swap entries Date: Wed, 13 Mar 2024 17:47:10 -0400 Message-ID: <20240313214719.253873-5-peterx@redhat.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240313214719.253873-1-peterx@redhat.com> References: <20240313214719.253873-1-peterx@redhat.com> Precedence: bulk X-Mailing-List: sparclinux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Peter Xu This patch partly reverts below commits: 3a194f3f8ad0 ("mm/hugetlb: make pud_huge() and follow_huge_pud() aware of non-present pud entry") cbef8478bee5 ("mm/hugetlb: pmd_huge() returns true for non-present hugepage") Right now, pXd_huge() definition across kernel is unclear. We have two groups that think differently on swap entries: - x86/sparc: Allow pXd_huge() to accept swap entries - all the rest: Doesn't allow pXd_huge() to accept swap entries This is so confusing. Since the sparc helpers seem to be added in 2016, which is after x86's (2015), so sparc could have followed a trend. x86 proposed such swap handling in 2015 to resolve hugetlb swap entries hit in GUP, but now GUP guards swap entries with !pXd_present() in all layers so we should be safe. We should define this API properly, one way or another, rather than keep them defined differently across archs. Gut feeling tells me that pXd_huge() shouldn't include swap entries, and it turns out that I am not the only one thinking so, the question was raised when the current pmd_huge() for x86 was proposed by Ville Syrjälä: https://lore.kernel.org/all/Y2WQ7I4LXh8iUIRd@intel.com/ I might also be missing something obvious, but why is it even necessary to treat PRESENT==0+PSE==0 as a huge entry? It is also questioned when Jason Gunthorpe reviewed the other patchset on swap entry handlings: https://lore.kernel.org/all/20240221125753.GQ13330@nvidia.com/ Revert its meaning back to original. It shouldn't have any functional change as we should be ready with guards on !pXd_present() explicitly everywhere. Note that I also dropped the "#if CONFIG_PGTABLE_LEVELS > 2", it was there probably because it was breaking things when 3a194f3f8ad0 was proposed, according to the report here: https://lore.kernel.org/all/Y2LYXItKQyaJTv8j@intel.com/ Now we shouldn't need that. Instead of reverting to _PAGE_PSE raw check, leverage pXd_leaf(). Cc: Naoya Horiguchi Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: x86@kernel.org Signed-off-by: Peter Xu --- arch/x86/mm/hugetlbpage.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 5804bbae4f01..8362953a24ce 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -20,29 +20,19 @@ #include /* - * pmd_huge() returns 1 if @pmd is hugetlb related entry, that is normal - * hugetlb entry or non-present (migration or hwpoisoned) hugetlb entry. - * Otherwise, returns 0. + * pmd_huge() returns 1 if @pmd is hugetlb related entry. */ int pmd_huge(pmd_t pmd) { - return !pmd_none(pmd) && - (pmd_val(pmd) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; + return pmd_leaf(pmd); } /* - * pud_huge() returns 1 if @pud is hugetlb related entry, that is normal - * hugetlb entry or non-present (migration or hwpoisoned) hugetlb entry. - * Otherwise, returns 0. + * pud_huge() returns 1 if @pud is hugetlb related entry. */ int pud_huge(pud_t pud) { -#if CONFIG_PGTABLE_LEVELS > 2 - return !pud_none(pud) && - (pud_val(pud) & (_PAGE_PRESENT|_PAGE_PSE)) != _PAGE_PRESENT; -#else - return 0; -#endif + return pud_leaf(pud); } #ifdef CONFIG_HUGETLB_PAGE -- 2.44.0 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1E489C54E6A for ; Wed, 13 Mar 2024 21:48:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=aynXyY1yjiWgigAcZfUJjD6IjSsGTl5MPdxZk4MQq7Q=; b=MzwwoBeYyIKSaJ D/W7S0Bs7EdCfDpJVfEmpb7Zlrdh8QWAapz5gmTfkH2stMVjqDqNVQZ5NRN8i3GiFM+IbVtY9sFv1 4PkSr7Fu0CrUAFXY8sbLXCKEmVt4xcV6JFllUyxr/MGtjPBw6evCvNesuTG50kSEkomBVxi2yCrq9 bfcMvNjIR+ePT57Vt/OQ4PEjkClth7wbM7Sm7sHBjIOndLAN6zdPOnIvwiYMjKgjKQ5baVD0cXorP bYwx9ejFZE8QdGWIG41YsXRwjeSs178Lq/v+XKKJSQ4kDrKjNa1nNCVCQ7SRvY0//4ni/iN0lscSY /N1/kNS1B9KIklPEAcKQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkWS8-0000000C0TB-3e0M; Wed, 13 Mar 2024 21:48:01 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkWRe-0000000C03s-24zI for linux-arm-kernel@lists.infradead.org; Wed, 13 Mar 2024 21:47:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710366449; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=YeQc9kMIJnzFU21uNz/0XHapVQ9Ht6kAArhV6nFscCO+u4Lyrd/27NENelJ4Y9/ALASmOm mUtqIW2Q16T8MFmN3O4retQ4Kj3oRXPdyJxA3kgi+kOWh5ncoPkYkqdeNzVy7JWXF9ZpZN 7YdzHxsHD1HBpRIkZGAXFhBMPufFmPs= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-270-lBTkHHzbMda1Hi8LwGbJVQ-1; Wed, 13 Mar 2024 17:47:28 -0400 X-MC-Unique: lBTkHHzbMda1Hi8LwGbJVQ-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-691455cfa84so151506d6.1 for ; Wed, 13 Mar 2024 14:47:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710366447; x=1710971247; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vtZJyICZEGrBJHpYWSu5beimQ7UmPGzVa4S5UCB/Dcs=; b=iYR8My1HNOufaoPt2teOig4CLaxYZYWPbVSllJtEPAtkzYHhK60F5r7Pf2SFPeisik lp6LuQF24kIvZx+ghs208gQkg1nngITEic+pS2ufUakbvz/WpYq9ZtcEgSMA9iFY6SVJ Dsjys0WjfT0jsUvuL54s2i3W/3eGBLY29D/26A/E0lLoKDijBSY3E8jwKON5dQejkFil fXOEdGuBLccGRNPAnlFwmo6uIyC8mDPTl4uzEScLbXFc5Rt4GHnHvErGtro+XD5BHwM4 rAH39RdoFlvaqkJodmJ0vTbMPlin0JCgaD1NY4MWWAotmIErXIQs39NIB29F96rdU8zT nEJg== X-Gm-Message-State: AOJu0YyT+co2C9X2f3zQflItXD3RSGVSII+LqkTgfw81iRBAVahr80GG 2o+gLVhRymnJzE2OIc48Q39F8KY7kepVL15MtWyMJR++F0BtlMrtpymgMsLCC+sNUxw1W3IdC6v +mMw6KC8+xN8jptqxJXj7/FRvFryuKEuYIpfBkdAcNSVtS0FFq4QmrVZhGnhBLUdycP4+1drf X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464423qvm.4.1710366447572; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHIi4iLkgKJ4BRvvEEi/kkT0r+z7XC1hachuRmolyjwCQk4v8XzYiXmWJ7FNVheaziOarzFKQ== X-Received: by 2002:a0c:f508:0:b0:690:b02c:2a5f with SMTP id j8-20020a0cf508000000b00690b02c2a5fmr13464414qvm.4.1710366447219; Wed, 13 Mar 2024 14:47:27 -0700 (PDT) Received: from x1n.redhat.com ([99.254.121.117]) by smtp.gmail.com with ESMTPSA id dv10-20020ad44eea000000b0069111c5cdd4sm60114qvb.100.2024.03.13.14.47.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 14:47:26 -0700 (PDT) From: peterx@redhat.com To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: linux-arm-kernel@lists.infradead.org, Matthew Wilcox , linuxppc-dev@lists.ozlabs.org, Christophe Leroy , Andrew Morton , x86@kernel.org, peterx@redhat.com, Mike Rapoport , Muchun Song , sparclinux@vger.kernel.org, Jason Gunthorpe , Naoya Horiguchi , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen Subject: [PATCH 04/13] mm/x86: Change pXd_huge() behavior to exclude swap entries Date: Wed, 13 Mar 2024 17:47:10 -0400 Message-ID: <20240313214719.253873-5-peterx@redhat.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240313214719.253873-1-peterx@redhat.com> References: <20240313214719.253873-1-peterx@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_144730_765462_31161602 X-CRM114-Status: GOOD ( 18.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgoKVGhpcyBwYXRjaCBwYXJ0bHkgcmV2 ZXJ0cyBiZWxvdyBjb21taXRzOgoKM2ExOTRmM2Y4YWQwICgibW0vaHVnZXRsYjogbWFrZSBwdWRf aHVnZSgpIGFuZCBmb2xsb3dfaHVnZV9wdWQoKSBhd2FyZSBvZiBub24tcHJlc2VudCBwdWQgZW50 cnkiKQpjYmVmODQ3OGJlZTUgKCJtbS9odWdldGxiOiBwbWRfaHVnZSgpIHJldHVybnMgdHJ1ZSBm b3Igbm9uLXByZXNlbnQgaHVnZXBhZ2UiKQoKUmlnaHQgbm93LCBwWGRfaHVnZSgpIGRlZmluaXRp b24gYWNyb3NzIGtlcm5lbCBpcyB1bmNsZWFyLiBXZSBoYXZlIHR3bwpncm91cHMgdGhhdCB0aGlu ayBkaWZmZXJlbnRseSBvbiBzd2FwIGVudHJpZXM6CgogIC0geDg2L3NwYXJjOiAgICAgQWxsb3cg cFhkX2h1Z2UoKSB0byBhY2NlcHQgc3dhcCBlbnRyaWVzCiAgLSBhbGwgdGhlIHJlc3Q6ICBEb2Vz bid0IGFsbG93IHBYZF9odWdlKCkgdG8gYWNjZXB0IHN3YXAgZW50cmllcwoKVGhpcyBpcyBzbyBj b25mdXNpbmcuICBTaW5jZSB0aGUgc3BhcmMgaGVscGVycyBzZWVtIHRvIGJlIGFkZGVkIGluIDIw MTYsCndoaWNoIGlzIGFmdGVyIHg4NidzICgyMDE1KSwgc28gc3BhcmMgY291bGQgaGF2ZSBmb2xs b3dlZCBhIHRyZW5kLiAgeDg2CnByb3Bvc2VkIHN1Y2ggc3dhcCBoYW5kbGluZyBpbiAyMDE1IHRv IHJlc29sdmUgaHVnZXRsYiBzd2FwIGVudHJpZXMgaGl0IGluCkdVUCwgYnV0IG5vdyBHVVAgZ3Vh cmRzIHN3YXAgZW50cmllcyB3aXRoICFwWGRfcHJlc2VudCgpIGluIGFsbCBsYXllcnMgc28Kd2Ug c2hvdWxkIGJlIHNhZmUuCgpXZSBzaG91bGQgZGVmaW5lIHRoaXMgQVBJIHByb3Blcmx5LCBvbmUg d2F5IG9yIGFub3RoZXIsIHJhdGhlciB0aGFuIGtlZXAKdGhlbSBkZWZpbmVkIGRpZmZlcmVudGx5 IGFjcm9zcyBhcmNocy4KCkd1dCBmZWVsaW5nIHRlbGxzIG1lIHRoYXQgcFhkX2h1Z2UoKSBzaG91 bGRuJ3QgaW5jbHVkZSBzd2FwIGVudHJpZXMsIGFuZCBpdAp0dXJucyBvdXQgdGhhdCBJIGFtIG5v dCB0aGUgb25seSBvbmUgdGhpbmtpbmcgc28sIHRoZSBxdWVzdGlvbiB3YXMgcmFpc2VkCndoZW4g dGhlIGN1cnJlbnQgcG1kX2h1Z2UoKSBmb3IgeDg2IHdhcyBwcm9wb3NlZCBieSBWaWxsZSBTeXJq w6Rsw6Q6CgpodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvWTJXUTdJNExYaDhpVUlSZEBpbnRl bC5jb20vCgogIEkgbWlnaHQgYWxzbyBiZSBtaXNzaW5nIHNvbWV0aGluZyBvYnZpb3VzLCBidXQg d2h5IGlzIGl0IGV2ZW4gbmVjZXNzYXJ5CiAgdG8gdHJlYXQgUFJFU0VOVD09MCtQU0U9PTAgYXMg YSBodWdlIGVudHJ5PwoKSXQgaXMgYWxzbyBxdWVzdGlvbmVkIHdoZW4gSmFzb24gR3VudGhvcnBl IHJldmlld2VkIHRoZSBvdGhlciBwYXRjaHNldCBvbgpzd2FwIGVudHJ5IGhhbmRsaW5nczoKCmh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDIyMTEyNTc1My5HUTEzMzMwQG52aWRpYS5j b20vCgpSZXZlcnQgaXRzIG1lYW5pbmcgYmFjayB0byBvcmlnaW5hbC4gIEl0IHNob3VsZG4ndCBo YXZlIGFueSBmdW5jdGlvbmFsCmNoYW5nZSBhcyB3ZSBzaG91bGQgYmUgcmVhZHkgd2l0aCBndWFy ZHMgb24gIXBYZF9wcmVzZW50KCkgZXhwbGljaXRseQpldmVyeXdoZXJlLgoKTm90ZSB0aGF0IEkg YWxzbyBkcm9wcGVkIHRoZSAiI2lmIENPTkZJR19QR1RBQkxFX0xFVkVMUyA+IDIiLCBpdCB3YXMg dGhlcmUKcHJvYmFibHkgYmVjYXVzZSBpdCB3YXMgYnJlYWtpbmcgdGhpbmdzIHdoZW4gM2ExOTRm M2Y4YWQwIHdhcyBwcm9wb3NlZCwKYWNjb3JkaW5nIHRvIHRoZSByZXBvcnQgaGVyZToKCmh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC9ZMkxZWEl0S1F5YUpUdjhqQGludGVsLmNvbS8KCk5vdyB3 ZSBzaG91bGRuJ3QgbmVlZCB0aGF0LgoKSW5zdGVhZCBvZiByZXZlcnRpbmcgdG8gX1BBR0VfUFNF IHJhdyBjaGVjaywgbGV2ZXJhZ2UgcFhkX2xlYWYoKS4KCkNjOiBOYW95YSBIb3JpZ3VjaGkgPG5h b3lhLmhvcmlndWNoaUBuZWMuY29tPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9u aXguZGU+CkNjOiBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KQ2M6IEJvcmlzbGF2IFBl dGtvdiA8YnBAYWxpZW44LmRlPgpDYzogRGF2ZSBIYW5zZW4gPGRhdmUuaGFuc2VuQGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IHg4NkBrZXJuZWwub3JnClNpZ25lZC1vZmYtYnk6IFBldGVyIFh1IDxwZXRl cnhAcmVkaGF0LmNvbT4KLS0tCiBhcmNoL3g4Ni9tbS9odWdldGxicGFnZS5jIHwgMTggKysrKy0t LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9odWdldGxicGFnZS5jIGIvYXJjaC94ODYv bW0vaHVnZXRsYnBhZ2UuYwppbmRleCA1ODA0YmJhZTRmMDEuLjgzNjI5NTNhMjRjZSAxMDA2NDQK LS0tIGEvYXJjaC94ODYvbW0vaHVnZXRsYnBhZ2UuYworKysgYi9hcmNoL3g4Ni9tbS9odWdldGxi cGFnZS5jCkBAIC0yMCwyOSArMjAsMTkgQEAKICNpbmNsdWRlIDxhc20vZWxmLmg+CiAKIC8qCi0g KiBwbWRfaHVnZSgpIHJldHVybnMgMSBpZiBAcG1kIGlzIGh1Z2V0bGIgcmVsYXRlZCBlbnRyeSwg dGhhdCBpcyBub3JtYWwKLSAqIGh1Z2V0bGIgZW50cnkgb3Igbm9uLXByZXNlbnQgKG1pZ3JhdGlv biBvciBod3BvaXNvbmVkKSBodWdldGxiIGVudHJ5LgotICogT3RoZXJ3aXNlLCByZXR1cm5zIDAu CisgKiBwbWRfaHVnZSgpIHJldHVybnMgMSBpZiBAcG1kIGlzIGh1Z2V0bGIgcmVsYXRlZCBlbnRy eS4KICAqLwogaW50IHBtZF9odWdlKHBtZF90IHBtZCkKIHsKLQlyZXR1cm4gIXBtZF9ub25lKHBt ZCkgJiYKLQkJKHBtZF92YWwocG1kKSAmIChfUEFHRV9QUkVTRU5UfF9QQUdFX1BTRSkpICE9IF9Q QUdFX1BSRVNFTlQ7CisJcmV0dXJuIHBtZF9sZWFmKHBtZCk7CiB9CiAKIC8qCi0gKiBwdWRfaHVn ZSgpIHJldHVybnMgMSBpZiBAcHVkIGlzIGh1Z2V0bGIgcmVsYXRlZCBlbnRyeSwgdGhhdCBpcyBu b3JtYWwKLSAqIGh1Z2V0bGIgZW50cnkgb3Igbm9uLXByZXNlbnQgKG1pZ3JhdGlvbiBvciBod3Bv aXNvbmVkKSBodWdldGxiIGVudHJ5LgotICogT3RoZXJ3aXNlLCByZXR1cm5zIDAuCisgKiBwdWRf aHVnZSgpIHJldHVybnMgMSBpZiBAcHVkIGlzIGh1Z2V0bGIgcmVsYXRlZCBlbnRyeS4KICAqLwog aW50IHB1ZF9odWdlKHB1ZF90IHB1ZCkKIHsKLSNpZiBDT05GSUdfUEdUQUJMRV9MRVZFTFMgPiAy Ci0JcmV0dXJuICFwdWRfbm9uZShwdWQpICYmCi0JCShwdWRfdmFsKHB1ZCkgJiAoX1BBR0VfUFJF U0VOVHxfUEFHRV9QU0UpKSAhPSBfUEFHRV9QUkVTRU5UOwotI2Vsc2UKLQlyZXR1cm4gMDsKLSNl bmRpZgorCXJldHVybiBwdWRfbGVhZihwdWQpOwogfQogCiAjaWZkZWYgQ09ORklHX0hVR0VUTEJf UEFHRQotLSAKMi40NC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=