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 5AD0BCD1284 for ; Tue, 2 Apr 2024 21:29:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A10636B0085; Tue, 2 Apr 2024 17:29:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 999926B0088; Tue, 2 Apr 2024 17:29:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8615D6B0089; Tue, 2 Apr 2024 17:29:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 681106B0085 for ; Tue, 2 Apr 2024 17:29:35 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 274FD140268 for ; Tue, 2 Apr 2024 21:29:35 +0000 (UTC) X-FDA: 81965883510.24.5FDBBE1 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf26.hostedemail.com (Postfix) with ESMTP id 6244B14000A for ; Tue, 2 Apr 2024 21:29:33 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m9dXj+C+; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.219.48 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=1712093373; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=ZlBUKN+vJhErQXaUHzr3nMaIQC0XK5DATlxBKq64rlM=; b=yN6TW47A+OIpg0ipY/h0eq+s1OhP9q9ZmKJa69NxQ7cSj+nshZdtXRKtsIwqIWA0RNfq0b s3gqkZlIslnEKbZMyNJoYiCHy6dKD/OAyyCNIdm+h1Ks5XH2uz6wR9TvbywstlJtPFd7C5 RUEEDkDkAOeYl2sFehHbLnZrCeMek5Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712093373; a=rsa-sha256; cv=none; b=m5eaKsXpoCUh6lerkE3NrNIwR+aktHkp0oHFIyl0SpcI04/khFtC7vrFUlJLTTXRmmhvdm gGfJ14C5nmyNXzS9pOa+CY8V19KMH5lWLkDGgZGoiGKeL7qYaXfbKVCD0cJMnxvD1u6pmS yTOYcmmQTiNXTERmlZkuMHiJSM6+lA4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=m9dXj+C+; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.219.48 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-69682bdf1d5so33532056d6.2 for ; Tue, 02 Apr 2024 14:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712093372; x=1712698172; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZlBUKN+vJhErQXaUHzr3nMaIQC0XK5DATlxBKq64rlM=; b=m9dXj+C+l7KZAApRLiaRShLBe6tl0X7X7cZY+q0OqIEJdDmolxH3JIrXNXQTpEziwu mRc7F9e2YiYd/BIqAQbo64uxvqvrr2ODlOUhUHUzxFhvJ+ZefCQFuLjDikpkDON/BvLM bBveNVTDfsFKPI2eduPMlCXBnCQzdgbbSbdRB9bSFYvA4enviEPYpv8QKU4eOnj5ELUh CevRZtT1A1zReDqWNlpacJkv9w4HHDpAB/xF2cdiUjPQdwbwYkklf8LDNwlUcqR8HWL/ 87eRC2ZoR40GgvPsX+/pfmOCfJYZwte9oNWV6JIc6GDRJKpMzbeaI349bCVimQMxloSm yw/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712093372; x=1712698172; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZlBUKN+vJhErQXaUHzr3nMaIQC0XK5DATlxBKq64rlM=; b=S3sPcxlKY/YP/YAqpwjJ52taj9JS4Vza6cQhZIbQ/qL4HOX0BSwHLkg8fSL6QAzm8d lYI/3fYNXtDUYU+39Oq00aKQO+tRffTpc66W7ZBkQ6i2h1OkFM0PPgWp74JQWaCBOkjy V9SV+5uEhvhtxANWaha8/2UH5iTwDEYuYzsYPZ/6J6x+wvzrprN0ZRbYAsn0WD+X+BJO RFFhSMsDmkjfbXlMw42VGKAxTwT/bIjggeCs23oXUzcA6AWj4YmBqCi488FG/+lSJ1MU TSPHV10djdrScm3VgBaNWrwuqwqgJidHlFQxoE5VOHUXkjx0UoAmaToPE1JaGMkzNBq6 BjBA== X-Forwarded-Encrypted: i=1; AJvYcCXontybeuhO/9O+wMQSKwNXmfLSUoCTb2CeR5YlfX0eE0KEqill/NOb9C/1YrHTRkL/3i8N1UoMiGUii2UrU/ZUgC4= X-Gm-Message-State: AOJu0Yz/D3taZPgF78UvOLkplis80+mmckTYhOzWPW+OGGhRyUSxX1VI YpmEeljXqsFXtcDIPhSBIMi3zGI70kiGpGJfrYJfl6EZgVTRdhLBkPp3l4D7JpRWXxtTwIMu2b9 Y9DMHQ6sylB8wbDvlOHyxwkyPoDU= X-Google-Smtp-Source: AGHT+IEd//ngePuBkUeypp5w1hhjt/nUOw/eNXK9PpsKbYS7T5cmelU/RNd9vC/zou8utvlO6f7AbwtD6d10sSedQ3A= X-Received: by 2002:ad4:4b6f:0:b0:699:c02:57a9 with SMTP id m15-20020ad44b6f000000b006990c0257a9mr5617194qvx.1.1712093372372; Tue, 02 Apr 2024 14:29:32 -0700 (PDT) MIME-Version: 1.0 References: <20240328095139.143374-1-21cnbao@gmail.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Wed, 3 Apr 2024 10:29:21 +1300 Message-ID: Subject: Re: [PATCH v2] mm: add per-order mTHP alloc_success and alloc_fail counters To: David Hildenbrand Cc: akpm@linux-foundation.org, linux-mm@kvack.org, willy@infradead.org, ryan.roberts@arm.com, cerasuolodomenico@gmail.com, kasong@tencent.com, surenb@google.com, v-songbaohua@oppo.com, yosryahmed@google.com, yuzhao@google.com, chrisl@kernel.org, peterx@redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 6244B14000A X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: bpq78uieu9p4th5rgfonndy1jd7937wd X-HE-Tag: 1712093373-637388 X-HE-Meta: U2FsdGVkX18GJeaJuMYv+Y6mxo3Yunnrf3ugvLbMlHN8F3CaM6/yZnI7wyI88vOGUqwzv3/jI4BiIr2BP3kRaY28FQ5gxuTbV0cEX1Can1JkOFr7PdSoC4MJUcrk8KPrfTZNeZV5dIfsP/qMCDDHkY6drZzrH010VNQjyOleIQIWQsB+QMTmqRYYkOWo9IOCb/cb9wXvJu34gNg6I7B9J5wkATnGktZSJb0dJMPVOCB9cNiL69aM03CXuCSH+ff+lBB/fLf/cwlqlqHVgv29FT73hiWm7H7gHUIbLUfRtUuFjgNssI9WYLfbJnnGIh+/43LMkYjoZLutU8uk4S6AASBHkYgiK5zsBmF+WC/MSIEVV4h4hjpmJkoyBiI1AaqCoJB9j8xlC6pBOTcjKVn5tn06OA3BMexNNFjSjVa4xbhIeB24zY6cE1VFm+k0m+otZAUEKxGBBOAlRKztE3Y4NVdhV7URFW1PfpbFpoB7jw7UGp+VqFPbt8p9Ecw/rxUilJotpvIfNB/if29rdlwCt0LDeyvl35tBRdnPDP5bX2wZoHcfaXdhg459Mk46/XGlvDiDdalvcdJHoqk70tDsfi8HVQa6LezCnuHXsyCnLL9qfnl3WyxIN8WmSt3LX6k/vLNhXjXee52zTwfMQiAh7hTs2yJhWq/0kL3egWLdl3IyWHHTHe1OBex41FupfGOvARgMTqkJyyKcDv4Id6OMYqgyBmH0zivy0PccWUuVyskNB3x0OCE16SzUOGXXFMEoQNS/x0HkwP0M935QkrPAuBV/axp4GO7rCbUvANox9Q4fgybLoTeeI+P+uU/xRIJl5N+c2AjZPcj+ymUIeUPp6Ga7ganK7ye67yJC3dGXrv+IxKh76+gguodUu5Kjb0Ot3octxFUeH3BVit6t0ckLhqT+mEHS5mtRsTrVyFtDJky9KCynNjUKDFVNrIASE/3jHLj3alicwyqDuJJVPZd 3muRk8+Y C8yG5Hd/qLYmBBox2y/vKqgaEmSWORmUn4b1eONRAy+n5odL/p+xzgJx1sv4Dyz87FLDeUqVQ4Vgri7BSJO2FqNmF8fTNXm0TV1u/ETlPRkdZm4nnn8O847BJ0uWEH3II09Qpq4EWr+r4ieuX+c4N45dhoD6NaFyPthWz7j5GnC4OE5OWsr+jeu0mhxEVnr/YOfQzKpnsDN4NPprP9Igv8mrJiBRYazNOKkTgd9HxF1dqwOl4UURFBCFce91LlAKZfv1ZB85n2EW1axk0UVSlxfLsIAaVD9mpWRmPqyP26kgCGHmA4Xh7VtTfp4y+IP2u5h2uswEWkGo07oBy07CtLjb9Y2pOjF+8bJU30ulIMQYAHCEQL/6nkCXRMm/bhjDPvMngQYuSkAIuWmT9QGNS1udg3ccVtaYfs+MAZfqWUrXmOwg66msbXkck8Flq1Q1H9tYHayyojUeNT8n2WYSFIBIX2XAM0ukLzhfZ 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, Apr 3, 2024 at 7:46=E2=80=AFAM David Hildenbrand = wrote: > > On 28.03.24 10:51, Barry Song wrote: > > From: Barry Song > > > > Profiling a system blindly with mTHP has become challenging due > > to the lack of visibility into its operations. Presenting the > > success rate of mTHP allocations appears to be pressing need. > > > > Recently, I've been experiencing significant difficulty debugging > > performance improvements and regressions without these figures. > > It's crucial for us to understand the true effectiveness of > > mTHP in real-world scenarios, especially in systems with > > fragmented memory. > > > > This patch sets up the framework for per-order mTHP counters, > > starting with the introduction of alloc_success and alloc_fail > > counters. Incorporating additional counters should now be > > straightforward as well. > > > > The initial two unsigned longs for each event are unused, given > > that order-0 and order-1 are not mTHP. Nonetheless, this refinement > > improves code clarity. > > > > Signed-off-by: Barry Song > > --- > > -v2: > > * move to sysfs and provide per-order counters; David, Ryan, Willy > > -v1: > > https://lore.kernel.org/linux-mm/20240326030103.50678-1-21cnbao@gmail= .com/ > > > > include/linux/huge_mm.h | 17 +++++++++++++ > > mm/huge_memory.c | 54 ++++++++++++++++++++++++++++++++++++++++= + > > mm/memory.c | 3 +++ > > 3 files changed, 74 insertions(+) > > > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > > index e896ca4760f6..27fa26a22a8f 100644 > > --- a/include/linux/huge_mm.h > > +++ b/include/linux/huge_mm.h > > @@ -264,6 +264,23 @@ unsigned long thp_vma_allowable_orders(struct vm_a= rea_struct *vma, > > enforce_sysfs, orders); > > } > > > > +enum thp_event_item { > > + THP_ALLOC_SUCCESS, > > + THP_ALLOC_FAIL, > > + NR_THP_EVENT_ITEMS > > +}; > > I'm wondering if these should be ANON specific for now. We might want to > add others (shmem, file) in the future. I've two ways to do that 1. rename to ANON_THP_ALLOC, so that I can have SHMEM_THP_ALLOC, FILE_THP_A= LLOC in the future; 2. let THP_ALLOC cover all of shmem, file and anon. following vmstat, actually 1 might be better as we have both THP_FAULT_ALLO= C and THP_FILE_ALLOC for pmd-mapped THP. #ifdef CONFIG_TRANSPARENT_HUGEPAGE THP_FAULT_ALLOC, THP_FAULT_FALLBACK, THP_FAULT_FALLBACK_CHARGE, THP_COLLAPSE_ALLOC, THP_COLLAPSE_ALLOC_FAILED, THP_FILE_ALLOC, THP_FILE_FALLBACK, THP_FILE_FALLBACK_CHARGE, THP_FILE_MAPPED, THP_SPLIT_PAGE, THP_SPLIT_PAGE_FAILED, THP_DEFERRED_SPLIT_PAGE, THP_SPLIT_PMD, THP_SCAN_EXCEED_NONE_PTE, THP_SCAN_EXCEED_SWAP_PTE, THP_SCAN_EXCEED_SHARED_PTE, #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD THP_SPLIT_PUD, #endif THP_ZERO_PAGE_ALLOC, THP_ZERO_PAGE_ALLOC_FAILED, THP_SWPOUT, THP_SWPOUT_FALLBACK, #endif And reading mm/shmem.c, obviously, shmem is using THP_FILE_ALLOC. I will rename it to ANON_THP_ALLOC in v3, let me know if you disagree :-) > > -- > Cheers, > > David / dhildenb > Thanks Barry