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 B1553C67861 for ; Fri, 5 Apr 2024 10:15:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2237E6B0140; Fri, 5 Apr 2024 06:15:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D2556B0141; Fri, 5 Apr 2024 06:15:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 023DD6B0142; Fri, 5 Apr 2024 06:15:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D5DE66B0140 for ; Fri, 5 Apr 2024 06:15:42 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A0BDF1A08DF for ; Fri, 5 Apr 2024 10:15:42 +0000 (UTC) X-FDA: 81975071724.15.3346378 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf23.hostedemail.com (Postfix) with ESMTP id 2FC73140021 for ; Fri, 5 Apr 2024 10:15:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="SIRkVSq/"; spf=pass (imf23.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712312140; a=rsa-sha256; cv=none; b=OgixC0c7mqKQpi9phkKDuDJbn9wDfjpFI8rRMceEwvk5LoVvLbnXyrfkbtFRlryV8Zmbn/ dfAQSo81xuAxE4K4Wndl0gnTndqQt8LKfcvmD02wcePAJu7KmFZ0seiw9YUxs3ABZ6vOsP hGmT1RmVmSlnbe8KEuPLovBbPMwCHKA= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="SIRkVSq/"; spf=pass (imf23.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712312140; 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=1Z8SfhBHd6R8sQAogC1ZO6e7zR9Et5rn+HlA5XSyJ5Q=; b=omRN3ezKYdoLsMd2ky9N+tnHY1I0r1UL4yIcBz0OXJTE6BqwUlq9NUiP//u80xVI9vDEs9 63Y+3qGsZjbWajqwxCMrHfTY3sHCY7Q2ixpH3+DOV7Rs7GEPM9Mu5Jsk0Qv17IHv6bLvwl M6oFAQLNdg8aAn6byqr0k2J71PMQaLs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712312139; 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:autocrypt:autocrypt; bh=1Z8SfhBHd6R8sQAogC1ZO6e7zR9Et5rn+HlA5XSyJ5Q=; b=SIRkVSq/X9r9AOn5xbKDUCbnukNC1OADcLbxJKWR6zSm84r+s+mqUWYf1It1X6K24Jd0AJ CrIWAzXMbZph7X2CNDm3Htsa9rWnG82iJ3cj1+zp7Yi2w1+0NgZtsSX5/Rb2dYWrwil4+j oe8Me2cNS7vHS+cBJYMe1OCz9kpe8t0= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-388-8ee_PyihOcufxUXzv3SH1w-1; Fri, 05 Apr 2024 06:15:38 -0400 X-MC-Unique: 8ee_PyihOcufxUXzv3SH1w-1 Received: by mail-lj1-f200.google.com with SMTP id 38308e7fff4ca-2d86adb107eso2832291fa.3 for ; Fri, 05 Apr 2024 03:15:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712312136; x=1712916936; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=1Z8SfhBHd6R8sQAogC1ZO6e7zR9Et5rn+HlA5XSyJ5Q=; b=ZGSDEpQujvqTshPBoCG3fBEvOeIFfGc/fqbcPcEhSLaXDM1AFhYmSTJDeZEPhyyQJJ wrpMeLVHPTSXI3ob+va2MI5Re68uITH2ZyIohcWrAfTchcO/TgoKWhRXB+5cL0NTS0fk Yntzp/vijLOSppaunZ4ARrjDT1vIMevMin+ufAA1PV2UdkJi3mzDI9esvaLul7wFJ1HN 8Kj3rklQH/PS0sO4zoFXQ12VIuWq7kq/l0eJEEmsp4ESdFy3sm8bvzd37NqiJUlMXY6R VmxoBc9Se7FVWFZr/SiTdhT6VPCrVb5lAkQ0CUtP20BZ1KbPnLgHa04ZdAyNT5BLvZD3 B41Q== X-Forwarded-Encrypted: i=1; AJvYcCWBxfEstCEaPhxx/+qiAktBNfIsy475HSjlN0/kc0elXfeOPQkX8zHxvMMvvX1kVlFMBFmMI1Gxj5qhXDZmetmx4iw= X-Gm-Message-State: AOJu0Yzg1iNVxVYk8kkN/qEDNkV0TE00Qg+PC7vUl2PXonAa0FQ5qHI+ UFb9BXWd129RiK7ER4D14k4bd0RjwR9lqoE2WLZcbXacYPpRr2PwsGAbd6mLXsIoNnq24/6JICO jof/bYdQuy9U7ScI1jUVf6yjtcngn/wHF/oMcIMForO/e7X3l X-Received: by 2002:a05:651c:1025:b0:2d6:cd05:1895 with SMTP id w5-20020a05651c102500b002d6cd051895mr860149ljm.29.1712312136398; Fri, 05 Apr 2024 03:15:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFlgylQI8wzcRwAupjhErQ0MKmPtqU7gP9i5mRmzLF/elx5iosOwKghVG/O2mlObV2CE75TYQ== X-Received: by 2002:a05:651c:1025:b0:2d6:cd05:1895 with SMTP id w5-20020a05651c102500b002d6cd051895mr860126ljm.29.1712312135904; Fri, 05 Apr 2024 03:15:35 -0700 (PDT) Received: from ?IPV6:2003:cb:c74b:5500:e1f8:a310:8fa3:4ec1? (p200300cbc74b5500e1f8a3108fa34ec1.dip0.t-ipconnect.de. [2003:cb:c74b:5500:e1f8:a310:8fa3:4ec1]) by smtp.gmail.com with ESMTPSA id q18-20020a05600c46d200b00414659ba8c2sm2402148wmo.37.2024.04.05.03.15.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Apr 2024 03:15:35 -0700 (PDT) Message-ID: Date: Fri, 5 Apr 2024 12:15:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] mm: add per-order mTHP alloc_success and alloc_fail counters To: Barry Song <21cnbao@gmail.com> Cc: Ryan Roberts , akpm@linux-foundation.org, linux-mm@kvack.org, cerasuolodomenico@gmail.com, chrisl@kernel.org, kasong@tencent.com, peterx@redhat.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, yosryahmed@google.com, yuzhao@google.com References: <20240403035502.71356-1-21cnbao@gmail.com> <30392471-71f9-4eb1-8855-d9c12499346f@redhat.com> <38eee542-8567-4c42-ad63-778b4a20c153@redhat.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2FC73140021 X-Stat-Signature: inu6uk4uguoudymgedwmdkqremah1pns X-Rspam-User: X-HE-Tag: 1712312139-55721 X-HE-Meta: U2FsdGVkX1/Qtr1OJNXiVWDyS+BiFe70cy23U8N/67itWfEZtBEOueeCci1l00hH2NXuROPSrKsBidNk1qkv7hwj7tN8QO6xLTInwMu/TxiJuA2D0l+QCTEOC2YAk8hqBxl2ejAPpX4GXxqXncVOOfqBcd/gZy8srOUD2ukS1m0iuSPrPQsfdrRWI59gUsvF4ic7Dh9qPzCPg+EbMf+/eot/eRP1PinegC1pOMzMUTj1/ns/ISItKVxHm9I9ejzLpbJHzxXhO8xvv2m8vIRGIlBDQsZEsyU3KRIiv9bfguHmBIy6au+fkcupL51lNeDIexNEQa0xUuAZWVRBfz2TPP82ZDNiD5Z21K52j95BIV8l6iEGev+qtqNeM0NlnrLh+UVOysy6jaiIcmyOSy0eSBrEruV6AxWudNcLZWj0xIW6+uFuViX3G1e1xW5q1IlrB5vUsTDAB1sJyZJ8HbPS+9m8/QlsHxP39UNmc/CfYuRbd+xOWFFRh5GYoh2a5DRa79ZNxA3W/HdTZn7PKplF6R8MCVGCzjXt2mTLnYM8KVtllVDob2TWvYzXRq90QMtqz3nrNH+x6PAQ/BaoWxpzYOB1FPnX0HSXmppdt4csfwMGhev+mj50DyPXR//H1eJV4BbB3YI85aQZeKLlAsOhCdxbb2rYnstyvT3+ALuMWfTETS4IKvqHBxSj8BQcVi/PngpvnF7VpwAhaJ33ZMzWPeay21kNbjg3kp59oCvUZ51o+FGjOvnmEB77A2lBkLnG7rHS9mVQ6SdUNdRQxNkRpHPI3W26JClTPngPeHJXcUjr67Uv7h8rwcFl/jSg5pfQJG0Cs36VFfE/9whg9FfRzngFwbFUNUOxdwMEodhRGzHixXmOBT3Qmxsnayp2Om5EEW3iMZQZhJntLlppIs4ezbaY42tN9gp5D8ivnkZGUt1S+4wOj2Zm0PFV4vHuIv+QSO1D5QScMgkeLc1SrwS PeeDvjVC g2BuLNqgotLmIsp/MdR+xBnO02EOerct91ejn7OtrzKNjoTG+4tlaCvK7fEn9EewQpC8TQR3YRe90w7qMH/ZZmaoML6t1sfifSwdBphUcsF4XMDly2ktoBCzG8OTL7PM/e8QXoaXUGEy3iTXcXkMpWip6Wf1SN4eCki8hXE+FTM066l9w9yqdnTrge/sSkoLDmh/R5Oyf2J1BvDkDBgfJzA8Q3FplER3bgkLcQR37kZ90nxNGi+Mr0ub9pgZ1LIwmBgq/E5bvAMtzw4U0uVeCJJ2ecnLndYQm6b9gMnJFH5CJSMWxRA4zzFuDnMt2/Mjdqmk2nCZUPDqlCm7q2pW8TZal0NlXhrV3d7A6oavjBRSpfwAE8iFvudDljQ6+hJl8h827kFB4/JLXxHu7Qy8rSG0zERINShul/gIUAwd7vorgy5en9Itv9TmqnbFGLnhv7AJLhjBWMabahkOEP23J1lAEwO8f620Fc3uOt0oPSXxS6lbaILrCYOo8f2rI17kLzEzmtPfKYr5YrQRdzUzUXvTq0omvQQCt04XKkXIneW7AtsJz8mhT78KObVuqG/Ku1zXKh1gu4DfDaW/uS0yDhkxVBOk77jB3OE03rhOQZ7IkQDLcOVY4PMqUedt7uzF9D2IA/qF7K8wTdaGcx0QjVjQ0zQ== 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 05.04.24 11:24, Barry Song wrote: > On Fri, Apr 5, 2024 at 10:04 PM David Hildenbrand wrote: >> >> On 05.04.24 09:21, Ryan Roberts wrote: >>> On 05/04/2024 07:29, David Hildenbrand wrote: >>>> On 05.04.24 06:01, Barry Song wrote: >>>>> On Fri, Apr 5, 2024 at 3:57 PM Barry Song <21cnbao@gmail.com> wrote: >>>>>> >>>>>> On Fri, Apr 5, 2024 at 4:31 AM David Hildenbrand wrote: >>>>>>> >>>>>>> On 04.04.24 09:21, Ryan Roberts wrote: >>>>>>>> On 03/04/2024 22:00, Barry Song wrote: >>>>>>>>> On Thu, Apr 4, 2024 at 12:48 AM Ryan Roberts wrote: >>>>>>>>>> >>>>>>>>>> On 03/04/2024 09:22, David Hildenbrand wrote: >>>>>>>>>>> On 03.04.24 05:55, 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 anon_alloc_success and >>>>>>>>>>>> anon_alloc_fail counters. Incorporating additional counters >>>>>>>>>>>> should now be straightforward as well. >>>>>>>>>>>> >>>>>>>>>>>> Signed-off-by: Barry Song >>>>>>>>>>>> --- >>>>>>>>>>>> -v3: >>>>>>>>>>>> * save some memory as order-0 and order-1 can't be THP, Ryan; >>>>>>>>>>>> * rename to anon_alloc as right now we only support anon to address >>>>>>>>>>>> David's comment; >>>>>>>>>>>> * drop a redundant "else", Ryan >>>>>>>>>>>> >>>>>>>>>>>> include/linux/huge_mm.h | 18 ++++++++++++++ >>>>>>>>>>>> mm/huge_memory.c | 54 +++++++++++++++++++++++++++++++++++++++++ >>>>>>>>>>>> mm/memory.c | 2 ++ >>>>>>>>>>>> 3 files changed, 74 insertions(+) >>>>>>>>>>>> >>>>>>>>>>>> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h >>>>>>>>>>>> index e896ca4760f6..5e9af6be9537 100644 >>>>>>>>>>>> --- a/include/linux/huge_mm.h >>>>>>>>>>>> +++ b/include/linux/huge_mm.h >>>>>>>>>>>> @@ -70,6 +70,7 @@ extern struct kobj_attribute shmem_enabled_attr; >>>>>>>>>>>> * (which is a limitation of the THP implementation). >>>>>>>>>>>> */ >>>>>>>>>>>> #define THP_ORDERS_ALL_ANON ((BIT(PMD_ORDER + 1) - 1) & ~(BIT(0) >>>>>>>>>>>> | BIT(1))) >>>>>>>>>>>> +#define THP_MIN_ORDER 2 >>>>>>>>>>>> /* >>>>>>>>>>>> * Mask of all large folio orders supported for file THP. >>>>>>>>>>>> @@ -264,6 +265,23 @@ unsigned long thp_vma_allowable_orders(struct >>>>>>>>>>>> vm_area_struct *vma, >>>>>>>>>>>> enforce_sysfs, orders); >>>>>>>>>>>> } >>>>>>>>>>>> +enum thp_event_item { >>>>>>>>>>>> + THP_ANON_ALLOC_SUCCESS, >>>>>>>>>>>> + THP_ANON_ALLOC_FAIL, >>>>>>>>>>>> + NR_THP_EVENT_ITEMS >>>>>>>>>>>> +}; >>>>>>>>>>> >>>>>>>>>>> Maybe use a prefix that resembles matches the enum name and is "obviously" >>>>>>>>>>> different to the ones in vm_event_item.h, like >>>>>>>>>>> >>>>>>>>>>> enum thp_event { >>>>>>>>>>> THP_EVENT_ANON_ALLOC_SUCCESS, >>>>>>>>>>> THP_EVENT_ANON_ALLOC_FAIL, >>>>>>>>>>> __THP_EVENT_COUNT, >>>>>>>>>>> }; >>>>>>>>>> >>>>>>>>>> FWIW, I'd personally replace "event" with "stat". For me "event" only ever >>>>>>>>>> increments, but "stat" can increment and decrement. An event is a type of >>>>>>>>>> stat. >>>>>>>>>> >>>>>>>>>> You are only adding events for now, but we have identified a need for >>>>>>>>>> inc/dec >>>>>>>>>> stats that will be added in future. >>>>>>>>> >>>>>>>>> What about the below? >>>>>>>>> >>>>>>>>> enum thp_stat { >>>>>> >>>>>> It seems we still need to use enum thp_stat_item rather than thp_stat. >>>>>> This follows >>>>>> enum zone_stat_item >>>>>> enum numa_stat_item >>>>>> enum node_stat_item >>>> >>>> >>>> Right, we can do that. >>>> >>>> [...] >>>> >>>>>> ok. >>>>> >>>>> Hi David, Ryan, >>>>> >>>>> I've named everything as follows. Please let me know if you have any further >>>>> suggestions before I send the updated version :-) >>>>> >>>>> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h >>>>> index e896ca4760f6..cc13fa14aa32 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_area_struct *vma, >>>>> enforce_sysfs, orders); >>>>> } >>>>> >>>>> +enum thp_stat_item { >>>>> + THP_STAT_ANON_ALLOC, >>>>> + THP_STAT_ANON_ALLOC_FALLBACK, >>>>> + __THP_STAT_COUNT >>>>> +}; >>>>> + >>>> >>>> >>>> Final bikeshedding: so we want to call all of that MTHP_, mthp_ etc, to make it >>>> clearer that this is per mTHP size? >>> >>> Perviously we concluded that mTHP was only for commit logs, and in the longer >>> term we wanted THP to mean the full set of sizes like it does for hugetlb. >>> Neither "mTHP" nor "multi-size THP" currently exist in the code base. >> >> True, but some indication that these are "per THP size" might be reasonable. > > It seems quite reasonable, especially considering the existence of THP counters. > Additionally, there's even an overlap between THP counters and mTHP counters, > specifically for PMD_ORDER. This complexity could potentially confuse > readers of the code. > > I'm perfectly fine with using "M/m" as a prefix, as long as sysfs > hasn't exposed it. > Moreover, "M/m" remains a preferable prefix given that "PER_SIZE" is > overly long, > and people are already familiar with the concept of mTHP. I think the important part is to not use "mTHP" in any of our ABI. As we expose these stats per THP size, using mTHP internally should be ok. But I'm happy to hear alternatives that express "per THP size" in a better way. -- Cheers, David / dhildenb