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 6CE77C3DA4A for ; Wed, 14 Aug 2024 22:46:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CB4F66B009E; Wed, 14 Aug 2024 18:46:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C64666B00A0; Wed, 14 Aug 2024 18:46:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADE3C6B00A2; Wed, 14 Aug 2024 18:46:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9173A6B009E for ; Wed, 14 Aug 2024 18:46:55 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 413F4811DD for ; Wed, 14 Aug 2024 22:46:55 +0000 (UTC) X-FDA: 82452337590.22.076FDD6 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf23.hostedemail.com (Postfix) with ESMTP id 546CA140010 for ; Wed, 14 Aug 2024 22:46:53 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ltV7T9CY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723675554; a=rsa-sha256; cv=none; b=HcMWt4DSU5jqA9P/hhHFEv3nGsSF3g1E2+uu20Bnz0/eJw0Qu/+aKtpj4maNC+PimnMFDB 6eW7CEHqxmVFIA3wwqstIE0LdqKExhlzC8sa9990w3b9JgLfH6/7hXVFulRLJ1gnnKACvG Wp96fnQ76pGoYidKXKPTPV3auFR8PTY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ltV7T9CY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.214.170 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=1723675554; 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=WcqzLYpNsoY+ZnD+WFpV8qX4Fal+QvpIacZtFR5Zuao=; b=yCvamVyo7+A95HO2ZA+yLgChrnopy9oG2/f5N4/5jWepMdoCF5c3QiClQjGZdEDifJoiKE Hmm82//ULY+vZXwKfkloNuZpoMDC+OyHpiLfikEFcrMriu0+g6Jecw+qimmEuoOIds+ARV HjgcY5gj2kRdJ1VjRvrMxJNCkdr6KOM= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1fd66cddd4dso3577135ad.2 for ; Wed, 14 Aug 2024 15:46:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723675612; x=1724280412; 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=WcqzLYpNsoY+ZnD+WFpV8qX4Fal+QvpIacZtFR5Zuao=; b=ltV7T9CYYxkiIhae0lr1Wbs/GA+18lE/xWiAVAOamY89Cc47bX47NS7niNHfspTiA9 uLBOSqtKUFe40sivmoOZJxGntsgpjN92YnJH8V1P7OFrFySaQQrp2Qn6GKjYDc+OiF1p wZCdM2nn683GCuKlAyo+q3BLqotmQ0AIYev27UfLWkzE7reL8CkkfhnyRvbkIkEVGY5y 920VolzvvQ6XYfhE4OIdkscOhRuElBsO41B4RLIgGSnVa2nkP7UuM+ls9xYluVhLcaNq /HI7ZMEgkIcCwLdae3KlNcwcjU8sa84KoHP+DT2US8iB8TjWX/M3GLKySRLE8S1qP2/1 whGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723675612; x=1724280412; 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=WcqzLYpNsoY+ZnD+WFpV8qX4Fal+QvpIacZtFR5Zuao=; b=rkHodsSsuI5l/RUJLx3vTSxwd68y5wLBxr8ZBV8yTsmxoNjPpeu0KGSNzziWeMwvU7 hWLpRUOZiiLpWZeqgiok+i2sKzEme3h1cHd4eAC92kaEVp3jZanYU5d0/Ki8yADomtj+ NcOt+Jk3qASL4h4V5Ug28x7i1Ki9GJF4ZiJ3uszO2I4htIaSBhKFCQ+7ZnUab+D4sUJS a8m1zsoSgB35TjKABLbTbj5oBWOiFsJrn5svBA50bgAbNesiH0Y4BSJrtp52gkqgkb5Z 8vfdRl8OzmJlUoQ7z9u1g6COgMAGJCAA9elFxf4C0FST8Ow26sKfR+uhfIensrqVwwfv RoBw== X-Forwarded-Encrypted: i=1; AJvYcCW4JaydSthS3xE5QFd9BEoRTHpY5V83xfhwjOQ4Bpvgmmb+dcKDu3QyjJ8y3rks6IskThL6a9Wm02Yj2KFEqObCj1I= X-Gm-Message-State: AOJu0YyWCfSLeMcWLMb8AcW+43yAuyBbCYrZV74PL611iojFBZw3TtEP LuMCV7e/85jUiCi/m7/r/c4Wngp/js1hGyR13xP+gLBom2DdiB8JDvW96w== X-Google-Smtp-Source: AGHT+IFO5UORUfVNhW2Ln/6YPwNByDpJDPmwRa/e8gxfW+B41zZ8po6NKbV3iYE9EAYVIYi/GHRRKw== X-Received: by 2002:a17:903:1208:b0:1fd:a0b9:2be7 with SMTP id d9443c01a7336-201d638d72fmr50846795ad.13.1723675611940; Wed, 14 Aug 2024 15:46:51 -0700 (PDT) Received: from localhost.localdomain ([2407:7000:8942:5500:aaa1:59ff:fe57:eb97]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-201f039e06bsm1269505ad.241.2024.08.14.15.46.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Aug 2024 15:46:51 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: akpm@linux-foundation.org Cc: baohua@kernel.org, baolin.wang@linux.alibaba.com, corbet@lwn.net, david@redhat.com, ioworker0@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, ryan.roberts@arm.com, v-songbaohua@oppo.com Subject: Re: [PATCH v4] mm: Override mTHP "enabled" defaults at kernel cmdline Date: Thu, 15 Aug 2024 10:46:35 +1200 Message-Id: <20240814224635.43272-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240814020247.67297-1-21cnbao@gmail.com> References: <20240814020247.67297-1-21cnbao@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 546CA140010 X-Stat-Signature: ima596nqzdm4mxbgxoganmxxy19tkssw X-Rspam-User: X-HE-Tag: 1723675613-865786 X-HE-Meta: U2FsdGVkX18/HByuk1q5DCO5YzfkIEGsd/RnEUhwR/1BGuBo8asMmKjcSKKJH+FZhEjOovYeTlkMqhCatWOl77XfXoxk1r2biKkhfj0ceL43DEPo6U/XjJBIt40cwgedIFHeNxVIlxXczLh9rM3PnLid+GlRLPiBnHQkkRV+K02AXlNUE3b5vw+733Txrd57a2rzPlqj2c8n0msKS8DN5IAv/thq4EGvt9vjau3/e/cFyP2FX+SCYP8HOR2ZQUk7krA0sEXCd00fn+M4z2k1lGcHw/UAQvKse4pSAkzzdNYqSrTneyZXkVaIR4vpCcSQ6/M2Ms+e+VH8i++WgcWc9HG49/Pggar6VjBdOao4jK0W4VLo5dgay1rOwM55mMamsYpopfEUBOSRnKiE5pekgmk4AasYsU9fxsR82BxQ7lMfqIMW252VbEaGLOqKo0HZn3kWkQlWYnkagF5vhssESu/ZoqxXG/rHYR+NFoJ58XEbqIC2I+QI5sfqyy0Ds0DY6oUqcv1jpHE3SuxFTvVW8up5SPjFHqljG1qF6M2CVSVINNrBjKuLAW3avioNkYkGWZe+X/2UsMSfFnItG3gUVHybB3GRY3Cs3Ks/ICIDBhcevLn0EmrCoUKXe9PUSXvL+fT2xGuee1WMGvMOx2X4Qc5+d6+8YgHADPV6JBOLsE1ul4Aoaj7LMyimR4NT6ZdULdUJnvb/+81BFaQamg4bOuwtm5B5U4uqVZQ0A0Zll2GSIelPlBd6S/ZWv7bLFRDrJ9p39FDDXNWcVdY4c+06g9lthQ4ILtcWKEcaNe5HFnujK8ujTSFgUtVO29I3C4kOe2oO1iT0hhuad83AeyW2BpA99kngSv0wmRiY5ocH682Yv86DlwcEHqW3IyNJT2Ff2tmtVBburwvfVAGfuAyCJPWLAx+tJCfalRjFcU5gQuXs3AG6gixXdxuRD8E2PKxLVyH6iLGi71yztbHj6r/ EqWDGerW 4w1vnSmQhTF3xph56qgeil628cA+cN6/SAgswEGV+xY52KKRExSwYXDsB7zTHZhgf/MVNrF1UJ/BlVrDUj4yFqK0aKxCHGOPsHSo7AUfhMjuQmXQMCQR5MaC5ANgtO+96jnNb40logrrA1EKmIDIZYSXZEwTkjYhnq6OQ7G7QPYxtEezueqUFB1ECopdtOc+x3JqedZcjGzJUYrNvzDiS2PP/t+opZxsqai0/owQhfDx/0j8rNmOjZwtZVe4XH/h0CQkXIIoJA82np1ocF0EqBFTiXaGvOcsCUIEjadpOHdWm49tGPZ0vjLNlddx1jDqdrK7qXjZdB9qjJJPkmBRw8+WNDwrYJtko/R96Ma+0mTGfV9fohLEIRZw4pONPWbPTl888N3iuDAmOZ22XLMP0x67YAGZhXo1GUt38bWAFdW3Db9p5cLM/vWs0piMAEqcVpsY7yr17VGah+KoIxLxvs67+0RzxpuYE5OxFmT6rLkuQpxlFGBhB5X7JD+jO5YtHkROQHtClTbIK6ubAuOh/0dVAwRaxfSQ7Wqr44XGYm1PuomQQ+dfMsinEfA== 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, Aug 14, 2024 at 2:03 PM Barry Song <21cnbao@gmail.com> wrote: > > From: Ryan Roberts > > Add thp_anon= cmdline parameter to allow specifying the default > enablement of each supported anon THP size. The parameter accepts the > following format and can be provided multiple times to configure each > size: > > thp_anon=,[KMG]:;-[KMG]: > > An example: > > thp_anon=16K-64K:always;128K,512K:inherit;256K:madvise;1M-2M:never > > See Documentation/admin-guide/mm/transhuge.rst for more details. > > Configuring the defaults at boot time is useful to allow early user > space to take advantage of mTHP before its been configured through > sysfs. > > Signed-off-by: Ryan Roberts > Co-developed-by: Barry Song > Signed-off-by: Barry Song > --- Hi Andrew, I saw you have pulled v4. Thanks! Can you please squash the below changes suggested by Baolin and David? >From af42aa80f45d89798027e44a8711f7737e08b115 Mon Sep 17 00:00:00 2001 From: Barry Song Date: Thu, 15 Aug 2024 10:34:16 +1200 Subject: [PATCH] mm: use get_oder() and check size is is_power_of_2 Using get_order() is more robust according to Baolin. It is also better to filter illegal size such as 3KB, 16KB according to David. Suggested-by: Baolin Wang Suggested-by: David Hildenbrand Signed-off-by: Barry Song --- mm/huge_memory.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 01beda16aece..d6dade8ac5f6 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -952,14 +952,17 @@ static inline int get_order_from_str(const char *size_str) int order; size = memparse(size_str, &endptr); - order = fls(size >> PAGE_SHIFT) - 1; - if ((1 << order) & ~THP_ORDERS_ALL_ANON) { - pr_err("invalid size %s(order %d) in thp_anon boot parameter\n", - size_str, order); - return -EINVAL; - } + + if (!is_power_of_2(size >> PAGE_SHIFT)) + goto err; + order = get_order(size); + if ((1 << order) & ~THP_ORDERS_ALL_ANON) + goto err; return order; +err: + pr_err("invalid size %s in thp_anon boot parameter\n", size_str); + return -EINVAL; } static char str_dup[PAGE_SIZE] __meminitdata; -- 2.34.1 Thanks Barry