From patchwork Sun Jul 30 12:51:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueshi Hu X-Patchwork-Id: 13333408 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 7501BC001DF for ; Sun, 30 Jul 2023 12:53:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D461B6B0083; Sun, 30 Jul 2023 08:53:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CF5996B0085; Sun, 30 Jul 2023 08:53:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B22AD6B0087; Sun, 30 Jul 2023 08:53:39 -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 9C3F56B0083 for ; Sun, 30 Jul 2023 08:53:39 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 67800140830 for ; Sun, 30 Jul 2023 12:53:39 +0000 (UTC) X-FDA: 81068269758.22.D8820F5 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf13.hostedemail.com (Postfix) with ESMTP id 924F02001C for ; Sun, 30 Jul 2023 12:53:37 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=smartx-com.20221208.gappssmtp.com header.s=20221208 header.b=xfjPRFcF; spf=none (imf13.hostedemail.com: domain of xueshi.hu@smartx.com has no SPF policy when checking 209.85.210.169) smtp.mailfrom=xueshi.hu@smartx.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690721617; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jlQkMU4cF/hjZqMHpdN03ub5kmBv2LTR3B7VOKlYmFQ=; b=VXe8iJeXkp3PeM2nuhTxgWWqQvHlYh4oWshuyjEcb+cldnfryBcP9tW9ywzYgeII12VEuT y7ftK1kuBvEYl0mNfhaWNJqa3Iu3WhLw3r3Kgni5xcH282c/p3LO5XwIu0P0sm53KWkN59 f4oWRnPMuYBqKq9IoDz8qbIB6deVzVE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690721617; a=rsa-sha256; cv=none; b=nOG96kVR0SWpSD5wI4Ror1xdLGx1YnrJuiKomer7seFze26CX4ABJ5LF5pftAUdFBzdAAw q+JlxeHEfNmG+c2hYF+kw4p872eyZBlWt0ztd0fqsYmUFEOYkxD8ydSoLZwTmXN9sfrKJU Cgr5uB5JaSxqlDffNcDmwC3UzcAmROI= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=smartx-com.20221208.gappssmtp.com header.s=20221208 header.b=xfjPRFcF; spf=none (imf13.hostedemail.com: domain of xueshi.hu@smartx.com has no SPF policy when checking 209.85.210.169) smtp.mailfrom=xueshi.hu@smartx.com; dmarc=none Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-686ba97e4feso3670500b3a.0 for ; Sun, 30 Jul 2023 05:53:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartx-com.20221208.gappssmtp.com; s=20221208; t=1690721613; x=1691326413; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jlQkMU4cF/hjZqMHpdN03ub5kmBv2LTR3B7VOKlYmFQ=; b=xfjPRFcFKHrLDu9ws2B8PMZOkXfhQT5rAmIJfbmOdYbTuKIQSMy07LHyfZ6lC9tuaO EB6jxTXz4JZKqrp+cQkcb5gdyQjwT4Zr4wd0IEbIX4E0hDhbZezdJiENZP0Z8tX0Xff6 RQo6y05OKgARifny3n8kbB/XFr7/1CTTpEpdhnFTEDglFAnmA/ctxZxkDJI+7vR9gQY7 0AftgxwEWyP9sb7U59KkIbzldja95urcS+grC9CJ/1QXxjFeyFF2dOXrhz00RytM2bU1 8JwXQfEZEWBd8BFdOk2HPceO359bqu50wy6+Hf+hx9hYrqsJqeE5YJMkPAnk8Tmb6tW5 t9Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690721613; x=1691326413; 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=jlQkMU4cF/hjZqMHpdN03ub5kmBv2LTR3B7VOKlYmFQ=; b=P6Rh26FUlLcn62y6SqdlSjE09rBGuW5pE89l9tUfQC30wgl3D9Z1SAfVG6ltVb/yqu ZUMtzyzrWJ2wV7SRzci9Xqt0D+i1bivh5mb9wAloOkuJRaTDW7JfddCUPTnZnjzju7cP KZ+kZxY+cGQcTaPrfQ8PuOxBtY29QHq++u+jl3QLH9LdjS/hy+SNIKfP+Q1xCKP4wJtG gr6xBbCCyPSq6J5f5eOcP85sNm1KOFo0018Uq5bzoFMclcsQcekMVVnFuq0CPduYL1WH A3wZNu8RdzWWgHvCwFHeM0ibVO4Kn7ZuIXr1XO3AN2gJMqNF2iLW6C+TefQnxj0xKoil OrJQ== X-Gm-Message-State: ABy/qLY1gDXBKZy9B8SWrfdKMHr8nYrLA780j+jGgmlJI109y6lcNH4s 3EKmnVhh6yYs6XtOJeVvOU7bgA== X-Google-Smtp-Source: APBJJlHAGbBmg1yL9xVjAxJKJyaNHrWCQ3Y76Fmeg6JmhSUc/ZxSUFHLPNEE67dSbB/PXU1/+8W2gA== X-Received: by 2002:a05:6a00:1ac9:b0:686:babd:f5c1 with SMTP id f9-20020a056a001ac900b00686babdf5c1mr8939112pfv.25.1690721613421; Sun, 30 Jul 2023 05:53:33 -0700 (PDT) Received: from nixos.tailf4e9e.ts.net ([47.75.78.161]) by smtp.googlemail.com with ESMTPSA id s9-20020aa78d49000000b00687260020b1sm1731130pfe.72.2023.07.30.05.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jul 2023 05:53:33 -0700 (PDT) From: Xueshi Hu To: mike.kravetz@oracle.com, muchun.song@linux.dev, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Xueshi Hu Subject: [PATCH 1/3] mm/hugetlb: fix the inconsistency of /proc/sys/vm/nr_huge_pages Date: Sun, 30 Jul 2023 20:51:54 +0800 Message-Id: <20230730125156.207301-2-xueshi.hu@smartx.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230730125156.207301-1-xueshi.hu@smartx.com> References: <20230730125156.207301-1-xueshi.hu@smartx.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 924F02001C X-Rspam-User: X-Stat-Signature: aa9yxme1prg1dz5xxth1j8ndhawz3786 X-Rspamd-Server: rspam03 X-HE-Tag: 1690721617-169178 X-HE-Meta: U2FsdGVkX18CDfU0wN9Ytn5p6X0nkHdwoaZIhwbnFnUM7DK7Y7KWifpRLugt71L0T2n1GBnltuM77b4V7Ap39ZRkzurO80sBzeu6SxY+qHWtLqPC10XVT2BVkyev2LXhm/pCXj8Lj0Pyz6kXZZsHxFgdlknarxxfBo3yd6c7l/IZQ74faNfwDQhmPDP2RagH7TCjHO00iEqtO4y5CFV5Fc4SoiyXS5W2XT7EziHL6o5LlJynlIAsUAVUXRs6yyY/jL3P35m9Hizh34m1krZNAzyvper6kxK8coyJ9j/FfBb4Saneaz0Ceak3Zmq+ez0Z6DxJHsuhDX1ldVXh/q9FghZna9eVQuZOTc8fQwMIvTMo441F4rKXxvcf4f/hg3CZZ0N9AjviC8dHJxEQJ4tuPWYs/OyJTBWH0ojaZ+0L2EWZ/Y/F+T5rXwn1ZyupGZI16YLB7zDpZhInRCjGP0Xt/2D3cc6UL5M4rW18MSHuc+7zmv53dEbBf5oGunkFMOgMibhR1apK7XwdHNh32DrZH9xDqmbQSVPQnWjw9KyKhwMbCeKIpaO85EYEydX/zLLa9gRRgoDGm7G2CFJBbYKfZKnBAVlIHdvQD74XmEA22853KLEXiefvB9LLEoKvCMyb8MbFRNERZjQJvLiXCQmV6RRJJe92g4VRYqQHFw8XLHs3HttaTB11tItoUc0RsvB/eXJEh5EXv8LifNI8JjfiPE9VhrOFKK0+Y6sqWcxgT/A09MFxtFZppCuhTts6LZEl82oM0NVouE8Ugd78hrC4HzuEsXFXtdkXnlZ3Ho3pV5Vt7YBD84bJCx7VJnpYRq/5sxSOqINn6aa5uPXv5xwHL3VezukPzPDthGsfCHQ8LAHXWQJiySFk68VM8yrGN9vmwlxmX+/xeOZ0j7L8Wrl105RNctHtsgLJd3hlTVoFQzM2v0UkkXZz+L4D3Xle0bFZ9pM/zHY/VaSlAETI+TK lXRthGen UjrhwvBT61iIFNEFWfAcHA4f5AVkxGfKDnJcfvdEPC4HATaq1rknFi/Q3cTwAMAToTWd71Pp4Wg7bO+qfH5nn7WGX6uxL1aYPLV7cVM2YjmMkXgGr96lqO7uc/tS64hVv02C17YGVLRgwAiY7bGCYDzbJZFjqrRS6sI4zTnOEihgdD45xe4k/YffuEGitsJlF3aIy6bIXKe3LswdvSga9p+S9lRHpBAp6oQa4E47uj/yiv7lihYa/GqoSygf7Wdbw2u8rnYcERN7e4Fx/ivjEx1+ZpGXEcGqSp9KfaF3aZMOxkPhDCJTV6OoLrG4vxRM2rIgG3fCt6Gh+R91JnwHRJhlDm/zLkbfyl1oeXQW3MMxKwmReoMSmH1HiQImhpgw1UGopPHRcxop3cHbkili+81s/XSgd8h6806yxP5U1Y+wbP1l/DMwCA//szI4xOqYHIPS4YVYho0HpZKJsm3oRiFWjVQ== 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: When writing to /proc/sys/vm/nr_huge_pages, it indicates global number of huge pages of the default hstate. But when reading from it, it indicates the current number of "persistent" huge pages in the kernel's huge page pool. There are currently four interfaces used to export the number of huge pages: - /proc/meminfo - /proc/sys/vm/*hugepages* - /sys/devices/system/node/node0/hugepages/hugepages-2048kB/* - /sys/kernel/mm/hugepages/hugepages-2048kB/* But only the /proc/sys/vm/nr_huge_pages provides the 'persistent' semantics when reading from it. This inconsistency is very subtle and can be easily misunderstood. Signed-off-by: Xueshi Hu --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index e327a5a7602c..76af189053f0 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4606,7 +4606,7 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy, void *buffer, size_t *length, loff_t *ppos) { struct hstate *h = &default_hstate; - unsigned long tmp = h->max_huge_pages; + unsigned long tmp = h->nr_huge_pages; int ret; if (!hugepages_supported())