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 C4C11C3DA49 for ; Fri, 26 Jul 2024 10:11:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 367526B00A5; Fri, 26 Jul 2024 06:11:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 317576B00A6; Fri, 26 Jul 2024 06:11:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1DF8E6B00A7; Fri, 26 Jul 2024 06:11:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id F3BAE6B00A5 for ; Fri, 26 Jul 2024 06:11:53 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id A479EA6595 for ; Fri, 26 Jul 2024 10:11:53 +0000 (UTC) X-FDA: 82381487706.26.00459FA Received: from mail-ua1-f43.google.com (mail-ua1-f43.google.com [209.85.222.43]) by imf22.hostedemail.com (Postfix) with ESMTP id B127FC0014 for ; Fri, 26 Jul 2024 10:11:51 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ht7s1iRm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721988710; a=rsa-sha256; cv=none; b=GYf4g8F3MIQq4cHSD/f/RFmLF4vQDxTeNjO70wbrL+EkZ6ZgeKVnvtmc45xCfhYTK6K001 ftC22eDn+bxY+RAjftCtv+/lVSEQuJ0EQEQa7vSs1IXNfmAnW0DokJf9OBcD+u+ViDBzcV PMc+rML5+AO3TjYF8pENyCaXle+JhQE= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ht7s1iRm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.43 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721988710; 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=eP6nUR3qmQ2fl5mhPqAgNEBfiba7cW0MObDAu+ZAnA8=; b=nksqik6SxiAbglwp//n8YvzforD9BYX4ikoxRHoiYFRwz9w/6+QI1q4S/MZg8NOQc/PeJH c9o1chHdFutgzmEwGLIHqBhsoOA4u7pOouN/RRJA7dU2MuErTDdeHSaFzAx8BL8V9QAUM3 qpL+9b75WHOJn9SLXpoK2f21aXFkBxI= Received: by mail-ua1-f43.google.com with SMTP id a1e0cc1a2514c-8231d67a168so180313241.0 for ; Fri, 26 Jul 2024 03:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721988711; x=1722593511; 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=eP6nUR3qmQ2fl5mhPqAgNEBfiba7cW0MObDAu+ZAnA8=; b=ht7s1iRmTG1rEP7Lia3EaRkFc0fPJJd2eQL/xmLc9Y2Ph4eKqCRpoXDtSXblzAvxCR bs35L3H+rmjqUvsXUIEbjEl5dgJvFnlFmvkjr14NF7gTE7lqxzf3js+qNHD+X+2efgHX byLnNQ/mIhzCb1If//6esgxBCQjgdq9oxCAEXC72vLsT/3bgpJKNIg4QnOHfACUR8+d/ Y3nArSCK6RzGz2NnCch4RG6/QS+bTSY8Nqnz/NPFWmM6/RpSsZcIER1fpiwM6AHpCA3Z 5MV7nAqthKOsaLbI4FC+zxYXD/7cl7LdVOJFwBL/GiwcGncb9Arhlmz7TV3HGLvf8nPA b1Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721988711; x=1722593511; 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=eP6nUR3qmQ2fl5mhPqAgNEBfiba7cW0MObDAu+ZAnA8=; b=mPtickwWpuhfzGoaLIcTCCk0WQQz8EWgNOWjjW7TxonR9f4ZNZXWpgA/Ntlserovgk 7fU+drB7HnqEiSXojBhIsFlHNKFKbYm84xf01yJMPfX9TVNpXWvJdOEfobY/DL0GmCao qFG+geZ4u5L1br9ua6gXzWq9ylL2+So99RKX6k0TypEB1W88ZQ5S47xOUlNG7j1fJ8pY aRInFPaXW2IW0vtl2Llkmfl5fNmZK8JfLU9UvId1QNrofrTGuPicjpbDNGNDzLuLUT3M NpErNvVy50p9TKDLmYwKeLfMA8sj0vieNCjm4vOJ/z56/HHCPxvEYe6OuYz2j15sL6ad 0Osw== X-Forwarded-Encrypted: i=1; AJvYcCVVHWbERdwCCcGDPBYmnbhHKAg3GvGVTxBXyKULQ/ZYW8/fKl8k5aPLn3oy7i+GEObVC09EpUB/YdPNmwSt2ChzVxM= X-Gm-Message-State: AOJu0YykQGaPngb7J0XbA5sdTK4pjfWdTjYaiU0qbPxbVF8ykF1tueDK JVtPqAXNmHF1MX/joyqwmn+/VKm76+ha9RC/zaBtvWRcJDTfqRaT5/mJZWTJnqSi9clPv6u8yEg CutfsgfmjixLnDHGKS3s/sBib4tc= X-Google-Smtp-Source: AGHT+IG2z9yyGyowQXy9edCnhDzzghfhjN0sZzfOaKAQo1+owybdxWT1aS22Rv1MV/Wz6YEiizdByhdbKNqFRX9DCPY= X-Received: by 2002:a05:6102:3f11:b0:493:e585:6ce3 with SMTP id ada2fe7eead31-493e5856f8emr3229867137.31.1721988710657; Fri, 26 Jul 2024 03:11:50 -0700 (PDT) MIME-Version: 1.0 References: <20240726082818.260008-1-21cnbao@gmail.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Fri, 26 Jul 2024 22:11:38 +1200 Message-ID: Subject: Re: [PATCH] mm: huge_memory: don't start_stop_khugepaged for non-PMD THP To: Ryan Roberts Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Barry Song , Lance Yang , Baolin Wang , David Hildenbrand , Yang Shi , Zi Yan Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Queue-Id: B127FC0014 X-Rspamd-Server: rspam01 X-Stat-Signature: 4h7x4qxa8w6pb7t67iw7p8oseeg8w5jk X-HE-Tag: 1721988711-831561 X-HE-Meta: U2FsdGVkX19q4LQqtVRerhTkAfAk+trg0j5oZOZ8Mqi1lNqAqBKn5D9OS95zSwvqvJGN/Iu/Nu/+3GNAZbzVXwEJPv89c5YwvkC+h96em2RrlEGjv4fozDBCTGmppZXXxcV14QsRzmlUn5/URw2c0fnAxtFgb4wnyfZLXMG1/ESTodqHJgjD0QBSNs0Ohc7QG8M0PPyuXkkvkTS3S/KH9GfwP7rDMho/odAi+F+Y9cWGqTesouM8bq+57zbEVzQnsQOAvhKcaChwg0Tmqo4OfiFFdo+qY+9Q3qpZB+op/FKEcldo7sVJDZoJWzia6JI7hZe+tT5oPKX62S6wNqQoKA4fgQWQthS87tioR36okmjzjARVuf0v3VwKp0GBVml2/TT/UNEbT18CupoJskUv762DcAXmPwFt4TnpxZXyjgzms7ziIO2bPKPw+UKhkAvbkBwAjck+t+FtdIuX97aHu4dXs8AACih2xMI4UqUEnX2aAFU91NbOnFn7mBn+W6jzIFBGA7kSzu+1BTtTt5cW/ZSnOgIBWTlOiAwKnb/jHYLCHySe7PeD2mY4JH2nTYskS8C7HGEhbZFlGP1K/xGCBsj/Fo/FceOw2lqtIpSkpHfyX2qCT7Y7czZ1pBXrnaJeNDrn8RJF+jJbhFBq/4K9IPuiVXIxJR6inihfaJCaR6eXJwc6pISedbmdZ+aDp0i58FjBLzqahjBvZdTpGtrXVMjpGZ4CX1aNFjOtega+VHKAt/E9AdfupOpt0SM40L7Q92ZSxJs1aVBSaWZHTEDZn9RFGnX0YhjVK+1jRfoBqkSPx+kRkk5uyBcpxis4oLMtXV7VwZ5dRp9b3z4fqlnoQCmzsOHPvI/FoRoMWXcHpZh2nrHdaQizNBhgWsBai8WQwjV3hkurRWu8SexQE20tsW86SsUlIg2+9jmrK4tqf+v5+4K8VGx3YfeciRiekmiqpZNSgAgpu5Ml1np9/ud Erpo4wU7 oL0urFWCmnDOQYihJAfwloo21kQVdD6tGePWsDHg2KsqF0leTE2J8ahxGpxMHzpOHBiMVSbk8raiahKV5kZNy8a2dqXKft7pNPvEGsq8hmV/JHRp6VU8HgI+rp30Z0XJpYiKc4Eyl/M08ndW7JbDpxxRHyuqLBSr9z9kvxrnpgfsstgA6VTlHNBAVwI9/tqq2w4MvGC9EHy4K+7q4OydV6HK8uXBQMsO/JSsQfnuIYRRZfyzkWM57a+JDmQSPenpVUX/lt5Iit5HNmwCQm48YuIUPfZwxXWK3O7008c2xfA+tWO+1pzjlKO0YWpzbGRrJ1SyWI7ZHIzAbFudkVXEyKsMDyklu2goh+n6kV+SF0t+8k83IWIh75gvFoSbWA0dnTWFqhcOOnb7Lo46q9zBVqpbTgQRvi9JmaGkmO7284oU9RwPcbAvJ587xOKkAsBxhjaZwnWk5RpRhWuhXeUOSkKEVU6SYXvAIOkkE603E17Bq/8VH7T5X13Q1SwLyI14iUgZRSC+MwI8a5ceuFPSTaEdyjTGuf5ho4B8kFjwy4V9Jc+4= 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 Fri, Jul 26, 2024 at 9:43=E2=80=AFPM Ryan Roberts = wrote: > > On 26/07/2024 09:28, Barry Song wrote: > > From: Barry Song > > > > khugepaged will be automatically started when PMD-sized THP is enabled > > (either of the per-size anon control or the top-level control are set > > to "always" or "madvise"), and it'll be automatically shutdown when > > PMD-sized THP is disabled (when both the per-size anon control and the > > top-level control are "never"). > > > > It seems unnecessary to call start_stop_khugepaged() for non-PMD THP, > > as it would only waste CPU time. > > > > Cc: Lance Yang > > Cc: Ryan Roberts > > Cc: Baolin Wang > > Cc: David Hildenbrand > > Cc: Yang Shi > > Cc: Zi Yan > > Signed-off-by: Barry Song > > --- > > mm/huge_memory.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > > index 41460847988c..bd365e35acf7 100644 > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -514,7 +514,7 @@ static ssize_t thpsize_enabled_store(struct kobject= *kobj, > > } else > > ret =3D -EINVAL; > > > > - if (ret > 0) { > > + if (ret > 0 && order =3D=3D HPAGE_PMD_ORDER) { > > int err; > > > > err =3D start_stop_khugepaged(); > > Personally I see this as a bit of a layering violation; its > start_stop_khugepaged() that should decide the policy for when to start a= nd stop > the daemon. thpsize_enabled_store() should just be calling > start_stop_khugepaged() to notify that something potentially pertinent to= the a > policy decision has changed. > > And I don't think this should be a hot path; I'd expect the global thp si= ze > configuration to be set at boot and remain pretty static. Do you have evi= dence > to the contrary? Absolutely no, I was reading and patching the doc "Documentation/admin-guide/mm/transhuge.rst" and was also copying-paste your "enabled" code to "swapin_enabled" with dro= pping start_stop_khugepaged() in that case. I believe I don't need it for enabling/disabling swapin as swapin is a subset of mTHP not a main entry. just feel a bit inconsistency between the doc and the code at least for thi= s moment: khugepaged will be automatically started when PMD-sized THP is enabled (either of the per-size anon control or the top-level control are set to "always" or "madvise"), and it'll be automatically shutdown when PMD-sized THP is disabled (when both the per-size anon control and the top-level control are "never"). which triggered me to make this change. Thanks Barry