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 64939C3DA6E for ; Wed, 20 Dec 2023 23:42:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AFE838D0022; Wed, 20 Dec 2023 18:42:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A871A8D0001; Wed, 20 Dec 2023 18:42:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9755C8D0022; Wed, 20 Dec 2023 18:42:36 -0500 (EST) 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 89CD68D0001 for ; Wed, 20 Dec 2023 18:42:36 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5F585A1B56 for ; Wed, 20 Dec 2023 23:42:36 +0000 (UTC) X-FDA: 81588823512.14.B2D63AE Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf26.hostedemail.com (Postfix) with ESMTP id 97A8E14001A for ; Wed, 20 Dec 2023 23:42:34 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XXuA3Hmb; spf=pass (imf26.hostedemail.com: domain of shy828301@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=shy828301@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=1703115754; 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=+JRk2JvA7cqmexFlms98ZkMMf7aYZ8QwDwKEHx8vdwk=; b=fFNRuPl5avIFY84PJVkhtsm6DeICh0ggfSuXP68ite6F+2pQusp2mZ3n7mEFmLjTiQWxJW v++2j5B1roM92kBaovBuPX8O/QZotrut3EC+oeu9zjEd7o2BxdPKav31UPxCUHsEQPoHWe R2k9HpqqOaB2S9r6eKr/99nzpmYLNmM= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XXuA3Hmb; spf=pass (imf26.hostedemail.com: domain of shy828301@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=shy828301@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703115754; a=rsa-sha256; cv=none; b=Wm9So5ydfEAvI57kvrPyZFjaRRLDe0yTxr4Cw3DlVn08cbC/hCx4NOJSoXWrZParQmYSnZ MGF5iaWsgNa9KXQr2hrvUjjrNouufacOXwElaIBpQ7dS/ZpNVcOWfm0CmaknIP4B/bA7R6 z0PJOCRr8sSjlPzEOPaN1fPKvCBXOE0= Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-6d89f278cc9so173332b3a.0 for ; Wed, 20 Dec 2023 15:42:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703115753; x=1703720553; 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=+JRk2JvA7cqmexFlms98ZkMMf7aYZ8QwDwKEHx8vdwk=; b=XXuA3Hmbyl8PYmAcv0VFQq4BZbb1nFKHrQydkYmiVKAi+1rdPBO9u6n611dNReFx8+ 8BY+V+QRA0xT2PzOC1RUbMQMefAWJuH+W7X1Eg8ozCUNOJxzxw9w8agG1csqZb5EFHpu SuwejRPe9YkpoEvBaul1PBrGJafmOJG8x2jzUsgs+kDAv47Xl+5WiSaezk4cmI3CilHA 4Gul+bVz39GuS2IhtgS6npUf73ohwaMMXM+0JEoxEOjSsrXJRPcO8lF42yfslCWoJS1U wFwObMXhTk1tL82uBRD11Xf8NIvBRoTd3MecFmaop0nixSgZ11xBqbq1KHUAbsyC24AU NY2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703115753; x=1703720553; 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=+JRk2JvA7cqmexFlms98ZkMMf7aYZ8QwDwKEHx8vdwk=; b=uxycxcF1KfwxLTayxbFqFJPitCS0awc7+cODZM1T+E8pfog/0qA5kHuSMiRzZlP8Kx M5GVHnFNF+sKZGMLwK66oql79cT68XIkLqQ3tPebhJVh79gaqf6NcRJUlTyGTIpU9swN xhQUPBc4xA8E2Bu0tDMiqhs9Z7iPqv9D6NEMNDUBXddM6jbf1RdBBKBvC5tI8Fj0TlRL 3BhCSsknz+Uw4EuRI7mM7bIgkqInJ+SS9eCGITz31CsWkBUiAMaXekxulWbSJAgU35CP 6Yx/OR6/rHfPHfUewguDsgdWB7wLMwochJhM6e9j4bQokUeThPaSX+fk+lZLE0Rgh/zA dltg== X-Gm-Message-State: AOJu0Yy/ipYsSbQxLWJG/hq62WGVOaqIhUbGfmJ2DxX0iInskjVKIM9U ZRF8tjgUAREK7Laf/4EabTYb6UYc4k9jwOjhcKU= X-Google-Smtp-Source: AGHT+IHNgg1j1HVSr9t2rXxcVOYERtXGUq0kvxnvedw/WKO898si7UTckjxNqiQnpURGR3oilhMqYQtGm9uwANeCR+4= X-Received: by 2002:aa7:880e:0:b0:6d9:30b4:3247 with SMTP id c14-20020aa7880e000000b006d930b43247mr4182832pfo.18.1703115753386; Wed, 20 Dec 2023 15:42:33 -0800 (PST) MIME-Version: 1.0 References: <20231220054123.1266001-1-maskray@google.com> In-Reply-To: <20231220054123.1266001-1-maskray@google.com> From: Yang Shi Date: Wed, 20 Dec 2023 15:42:21 -0800 Message-ID: Subject: Re: [PATCH] mm: remove VM_EXEC requirement for THP eligibility To: Fangrui Song Cc: Andrew Morton , linux-mm@kvack.org, Song Liu , Miaohe Lin , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 97A8E14001A X-Rspam-User: X-Stat-Signature: nw7kpi137k94p8ckqz5p6wbhgpf9phw9 X-Rspamd-Server: rspam01 X-HE-Tag: 1703115754-31529 X-HE-Meta: U2FsdGVkX183EKAyKZt2eJ+hkjclCyOb9lQnErNkxknZQL0ovhrca6DXByvXS9X9MOU074q1TooZdfZme2urPywylWMvRmK4caMaclzxJJwjpiSAJK7ro9JNYu+4CIO3AkjY/JyJNdz5GgwPgpVrm5nSk3A4AuUcD81IIaFzi8KNYIVnKfSR7iVHtCYZy0IHTHTOM88mEPQmyyhVXqTc3VAWe3WeEGT9NCb1YFVia661bTuIfrHPh33MkXS8I7+2FwE0043hxU21L6yB2z9PC2jYUJ7DKnIhKS4yUaQsK3E4sdpr4hucFvyy1A7IR7kp6xnWpzgVOoa6tKrLEsk7bKK1nc8eoo/Vuv9CerblJR2DBhZLMFXR3/3OKg89fD8gqRSV4VlbtUdDRa71BP6XuoX5B/8ptHN/Oa4oOi1+pBI3lY1X0zj+vbjKX+K39rQEOcgPJ1uC2UdQ8Z3gsO2iqcgFiWhYCBCVWwwIgfc3pTLs/Kx2PNAeF29MFVEWxgwuoAeaU43+yx2MfPNF5uOBriGca+hPEbQO76G8jGpZucALyU9l2cV6pPkuzxzYl0Tc4R2aFBmxsO/qDJdl3xWDbOiptnHx5CNj2vbCsfQSAdR9AuXfpJer2U9l/uta6MVJvgLjsdX7whCHlojd/FhKtb3eBixu2l+IvSTUWJtgpoSniw9Ag5r3+LwCPbsKojmIapkE/bDE0OUpXQU7URAE5htpgyprNJM/1gLKPwmks0RGKegNfVDfquOOl/CPinDwwgwgz69P8mzxtoebm8enB+ts5pNxcHzoRQdMx7fcG4tFctjBjXm8oNiYFY8rVJ7k6oG48UDhwgM7VQpowBKuxbTrWZvrOFUvdobBR2MpO1zyu0Il4XtkFNHusVuv7K2masyUTxVA7DDqy446b58AqfaKo3A4BLP/8+KaG8i9pyu1X7kDIY4aRB2frTXrSFZEJpOxJP3OScu6RSDkoBc EmeZldnU 31QGOvXR0S9ZR/Cy4TF/eEykvabC3uISdIoRnE8JIjrueiLsOr1qGK+BDOBq9FE5CJ3bOoGKzv013M3k81bsmmxZVQa2pmVYQaieBb2Ps7a5PtGqBXIckcd1Zj0w9xAOmI1i5D4VnWSmrvMIUMAKi1Sp8k/yS8/LMw1BRRnOmmoStF3wP/en0To+cZ+n4MoqojABGvOQShh2vL8WjKDdA39i6pRhrFTYA42nEGBaehqf0D7nAJ2UuvThtcFnr2a30Tr0sEuKjL0GmeC/4PYRFlMaCz70bYKaglHTXCsG3VK/pyHRnOokxglkhg1P/7E5COksU2J0EJTdI/wWuLus4i+0vc+0dh0QemME2KT9Avj1cTWtQxw+Bm4wr6dv5NbZkrWFUwCsSL3ZQuwPJO05ceW+83cgWbpPONfupOWb9LyR4Cdc= 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 Tue, Dec 19, 2023 at 9:41=E2=80=AFPM Fangrui Song w= rote: > > Commit e6be37b2e7bd ("mm/huge_memory.c: add missing read-only THP > checking in transparent_hugepage_enabled()") introduced the VM_EXEC > requirement, which is not strictly needed. > > lld's default --rosegment option and GNU ld's -z separate-code option > (default on Linux/x86 since binutils 2.31) create a read-only PT_LOAD > segment without the PF_X flag, which should be eligible for THP. > > Certain architectures support medium and large code models, where > .lrodata may be placed in a separate read-only PT_LOAD segment, which > should be eligible for THP as well. Yeah, it doesn't have to be VM_EXEC. The original implementation was restricted to VM_EXEC to minimize the blast radius and the targe use case is for large text segments. Out of curiosity, did you see any noticeable improvement with this change? > > Signed-off-by: Fangrui Song > --- > include/linux/huge_mm.h | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index fa0350b0812a..4c9e67e9000f 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -126,7 +126,6 @@ static inline bool file_thp_enabled(struct vm_area_st= ruct *vma) > inode =3D vma->vm_file->f_inode; > > return (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS)) && > - (vma->vm_flags & VM_EXEC) && > !inode_is_open_for_write(inode) && S_ISREG(inode->i_mode); > } > > -- > 2.43.0.472.g3155946c3a-goog >