From patchwork Fri Apr 12 11:48:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Barry Song <21cnbao@gmail.com> X-Patchwork-Id: 13627659 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 C2840C4345F for ; Fri, 12 Apr 2024 11:49:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 394036B0095; Fri, 12 Apr 2024 07:49:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 31CA46B0096; Fri, 12 Apr 2024 07:49:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1956F6B0098; Fri, 12 Apr 2024 07:49:33 -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 EAFF36B0095 for ; Fri, 12 Apr 2024 07:49:32 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 80B2480EB7 for ; Fri, 12 Apr 2024 11:49:32 +0000 (UTC) X-FDA: 82000709784.27.A81BE4E Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) by imf22.hostedemail.com (Postfix) with ESMTP id C1756C000A for ; Fri, 12 Apr 2024 11:49:30 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GMLAYQLh; spf=pass (imf22.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.161.54 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712922570; a=rsa-sha256; cv=none; b=op1HdXKFLCZs/OawrpjSjUtuOakskN04Er/jui/CYdUtFuHNqbSze3BRWJgu8ZWgDNvN6n ccJa8kutFP94h34RuZiV0M2n4mjOC3HGPQWZtOnW8fOwN4T3IVo3bTAbiewedxd4zoZBu3 XTm1hHDVvjArHQTyji7XHBQfind9aKo= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GMLAYQLh; spf=pass (imf22.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.161.54 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712922570; 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=Dh6hvogc8WrNbjngKn7rl7SAnmLGjB7yuHqyvbwFdGE=; b=y2qBhYOivQOUTsB94VK+HaU1aYOgTvTCUrqFgNf3mlbCcbcYCz23zByvH0urQSM2RbkkQ8 XvzLtnjpPcmX/2f4LJmklnrt2hNN4eH++uwcvHZd6qH9JqXRQiQSvjMcbzIe4RUJK07dEd orEtnn7/tDkB1C5LFJcNFeOvHtjQf+U= Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-5aa2551d33dso514283eaf.0 for ; Fri, 12 Apr 2024 04:49:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712922570; x=1713527370; darn=kvack.org; 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=Dh6hvogc8WrNbjngKn7rl7SAnmLGjB7yuHqyvbwFdGE=; b=GMLAYQLhGAOgd0YqAv5DKI/WQFn+FfOfAO715dPoPh8ab+odFWwWy6E+6kYopxYhTw GsmgaSmZXQ1aT7qfcmzmJ1X4f8rX2sRnnbnhb9VzGqYtbFV/b5hP6fN96wQysANuayM1 v9wFiHpM7HtVSYSI+ijLwkoc3Tex8FCCUA87D8UEydIV6vRheh912jByhDb3Jhud6PoJ WQQtQE3/ggcVrBNurG19uUKm5a2942A0kb9zyLj7uy9o+4B0yHJcfZoLlFO4h09Eq036 Qhta/wzp4hiDdgUswE/zdC2SEehm8PyRDnBTMtiTNJt0b/IKWmkVGIFZzXqy9Ltc1RCX FJsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712922570; x=1713527370; 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=Dh6hvogc8WrNbjngKn7rl7SAnmLGjB7yuHqyvbwFdGE=; b=Bx7UR7k/0co7hufOodYXSgPY1HDzWrIFIlapQ977BGRYxW06nLO9Szie14+ELHKQCt CsvhU2Xwhg1fkzfTH9Ny7d20aZIQ2shf30Hw/DwX5aLT1BLUDQpeXk8HEtdGjfd4vU3b 3ias44yleDZ027rItfPE2HDdwpFifqkMjWRROwfzinXVrI5fSIS0oYJHDT6upv/Zh05N K7bZ4kU8n6yKi4+pF+Y2y1dUBWyiqSaywM7Rh3nhj8nbRgXYfXjQsAodf4s9SSuOGFmk TZMKiRlqDeuA5tN+BoCV76wS2ibs9DLQoNYYHA8fm62ep/2JS76jkCsmlw6lSsaJhACn aIpQ== X-Forwarded-Encrypted: i=1; AJvYcCW7tFo9Qd1+DwOipZVTGzDpY13l1fVmHd9uHyjyZ2Y1Zj1czstRwb/o83BjfOiI9Lyhfo0K+AJRPVuvTc/0FoGLo+g= X-Gm-Message-State: AOJu0YxC4YPTX5lGMviUGteIbBBzACTmNX35zX4TTfj5jY+389ncRDRT KXuk3jkPI5qAl2XpbXECLGmk1lLaXcShKyNAmhcUlVVzmGEuMePG X-Google-Smtp-Source: AGHT+IHSbMtHAQIh+PfqRG0gW0Y1lSnuI10KtMX9wyKQO0P5Kw6DL1x3fzgwy290LKu7YQyO4BqMtg== X-Received: by 2002:a05:6359:4608:b0:186:2a96:a5b9 with SMTP id my8-20020a056359460800b001862a96a5b9mr2626632rwb.6.1712922569322; Fri, 12 Apr 2024 04:49:29 -0700 (PDT) Received: from localhost.localdomain ([2407:7000:8942:5500:aaa1:59ff:fe57:eb97]) by smtp.gmail.com with ESMTPSA id q1-20020a634301000000b005e43cce33f8sm2541048pga.88.2024.04.12.04.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Apr 2024 04:49:28 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: akpm@linux-foundation.org, linux-mm@kvack.org Cc: cerasuolodomenico@gmail.com, chrisl@kernel.org, david@redhat.com, kasong@tencent.com, linux-kernel@vger.kernel.org, peterx@redhat.com, ryan.roberts@arm.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, yosryahmed@google.com, yuzhao@google.com, corbet@lwn.net Subject: [PATCH v6 3/4] mm: add docs for per-order mTHP counters and transhuge_page ABI Date: Fri, 12 Apr 2024 23:48:57 +1200 Message-Id: <20240412114858.407208-4-21cnbao@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240412114858.407208-1-21cnbao@gmail.com> References: <20240412114858.407208-1-21cnbao@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: C1756C000A X-Stat-Signature: cbtgssawxa35im98hf9dnd6yjf6mj6ht X-Rspam-User: X-HE-Tag: 1712922570-623778 X-HE-Meta: U2FsdGVkX195gqCchwFVZbl05YRpP6JB/vdAYvr/xTzgqwb41/BG937Iz2jGQGtqVSI5XahIW5pKtGd7zEGoAElafMenAzs3mvJwZoIqzNSuMcdZtD9yzohtAE948DZIl4A/cXHW1hCNDEbBV/g6CEkPCKAYyEUsUYmtvxVxFSrxpkBO5hunOI588wOiLiqrpwaCKbu3ZFFpj2kSxrGjfeky/HrJcQYAEr1ewHK2c8tGoEFX3I+geDBZxlfaMPv2WVMQKBBUCEERjD1xvlzbp7d77fTZPtn5EMAoly0yu+QvXsWpSRONoH6vFON3J1FpYRiqnkWwcWcH9r7Z2ldvq+ZIKn5z+uFo3Q0dpN3XET7N0LvbW1PMuHxlAiDj1W4hWwofKyfz1QBDT2dzykWcUwwqkH9RzJxaCCDYdVYVC6ix42QNUhVYFEKboUyk6sK0RGl4cYiv3EjmenAbxJ9lOiKhvvNgjJki1KGE/4Ci4+TuoPj5L7YPftnYMPkjosG7f+zH3JvA/5acvk8J+joaw/56uj4wnidfTKIlB86ZvpW5Fkz4uyuY3X8H9o+OwEwI1Lm/cSCPcSLnOOf7Cb/iv2SV4F5O7HQlsh86HIEoRogJGdU3GcudnxaPPY2huGwVdOoJVT9UWeMy38JE8w7RVvPwxmVJ48LoEaniMn2vFBAyOojZZKMGkXAB9o7zzSg3Erp16RaBJX/wjlZzygRk7p9+w8r+0CEbDKxECIK7BUB/XFx2Iun+8zRN053jEbBgfdYUyJYDa+4098GdK/T0PzUXpcyLdqURn+6z2IgP5XhsVNMSPY9AJZdfngrayvP0y/r+pFEcxO73q8oo+Lvpf16b+fZJglBLdrUXmiemIDYRbF0+ULNDMkVZnhFQNdOAZaQnWVzymq3tovulBADOrOyRZhq13ad0BhwnLdCvuDbSCTcP763O4hYEugPl04mjWOh1DdBkArgforXeLCN xh/WhoYj pGPDP5nIWdy5Xi9PHw+feCkrP6vY2ShGHRJrlLSLjMbUsobvJxcya5gkKJqeY0AYg3L909HTBmuJ7Rn993gpYSAPECVn5NIUuVh1sR8FaFlUXss1ioHUpj9LywNyMiA5b7K+auPUBecWndz3CzTgkSyofMJTfnxesWOOX 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: From: Barry Song This patch includes documentation for mTHP counters and an ABI file for sys-kernel-mm-transparent-hugepage, which appears to have been missing for some time. Signed-off-by: Barry Song Reviewed-by: Ryan Roberts Cc: Chris Li Cc: David Hildenbrand Cc: Domenico Cerasuolo Cc: Kairui Song Cc: Matthew Wilcox (Oracle) Cc: Peter Xu Cc: Ryan Roberts Cc: Suren Baghdasaryan Cc: Yosry Ahmed Cc: Yu Zhao Cc: Jonathan Corbet Reviewed-by: David Hildenbrand --- .../sys-kernel-mm-transparent-hugepage | 17 +++++++++++ Documentation/admin-guide/mm/transhuge.rst | 28 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 Documentation/ABI/testing/sys-kernel-mm-transparent-hugepage diff --git a/Documentation/ABI/testing/sys-kernel-mm-transparent-hugepage b/Documentation/ABI/testing/sys-kernel-mm-transparent-hugepage new file mode 100644 index 000000000000..33163eba5342 --- /dev/null +++ b/Documentation/ABI/testing/sys-kernel-mm-transparent-hugepage @@ -0,0 +1,17 @@ +What: /sys/kernel/mm/transparent_hugepage/ +Date: April 2024 +Contact: Linux memory management mailing list +Description: + /sys/kernel/mm/transparent_hugepage/ contains a number of files and + subdirectories, + - defrag + - enabled + - hpage_pmd_size + - khugepaged + - shmem_enabled + - use_zero_page + - subdirectories of the form hugepages-kB, where + is the page size of the hugepages supported by the kernel/CPU + combination. + + See Documentation/admin-guide/mm/transhuge.rst for details. diff --git a/Documentation/admin-guide/mm/transhuge.rst b/Documentation/admin-guide/mm/transhuge.rst index 04eb45a2f940..e0fe17affeb3 100644 --- a/Documentation/admin-guide/mm/transhuge.rst +++ b/Documentation/admin-guide/mm/transhuge.rst @@ -447,6 +447,34 @@ thp_swpout_fallback Usually because failed to allocate some continuous swap space for the huge page. +In /sys/kernel/mm/transparent_hugepage/hugepages-kB/stats, There are +also individual counters for each huge page size, which can be utilized to +monitor the system's effectiveness in providing huge pages for usage. Each +counter has its own corresponding file. + +anon_fault_alloc + is incremented every time a huge page is successfully + allocated and charged to handle a page fault. + +anon_fault_fallback + is incremented if a page fault fails to allocate or charge + a huge page and instead falls back to using huge pages with + lower orders or small pages. + +anon_fault_fallback_charge + is incremented if a page fault fails to charge a huge page and + instead falls back to using huge pages with lower orders or + small pages even though the allocation was successful. + +anon_swpout + is incremented every time a huge page is swapped out in one + piece without splitting. + +anon_swpout_fallback + is incremented if a huge page has to be split before swapout. + Usually because failed to allocate some continuous swap space + for the huge page. + As the system ages, allocating huge pages may be expensive as the system uses memory compaction to copy data around memory to free a huge page for use. There are some counters in ``/proc/vmstat`` to help