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 322BDC47DAF for ; Thu, 18 Jan 2024 18:43:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6EF8B6B0088; Thu, 18 Jan 2024 13:43:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 678C16B00B0; Thu, 18 Jan 2024 13:43:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4CBB26B00B1; Thu, 18 Jan 2024 13:43:06 -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 329206B0088 for ; Thu, 18 Jan 2024 13:43:06 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 002A41C18D0 for ; Thu, 18 Jan 2024 18:43:05 +0000 (UTC) X-FDA: 81693303930.05.2AA76F0 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf30.hostedemail.com (Postfix) with ESMTP id 085E180024 for ; Thu, 18 Jan 2024 18:43:03 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Z+Awq0+I; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705603384; 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=zeI4j4Idz7TgFBkGXvSs6IJWNfZQHvsM8zwFWZMGmnM=; b=iI7RMkMGBrmGIpJFhHafHpkV/Kamqz6vvUL/INfh/g6toWs0lDUjC5y7D1H/vkdBiJcQKF SRKVtlkqGSsQEZNTd/WVx9MIap26bLmJlwdpYxMmJOVklIBMPNqvlCXxLFBsYYB9RwWC30 vIfRe1Az9WgKDp3e2uz8QXGlY+tAE4w= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Z+Awq0+I; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf30.hostedemail.com: domain of shy828301@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705603384; a=rsa-sha256; cv=none; b=l5SbA76yUoY3KQuRgZygCWTBAEThcEifkXZ9GUrD7EDro6MY/83OAU4ipB59MczawBvMKx 9O8a8tcUQh2EBfM4Qsvs2cTCDuT0DJnnXMG+L5oCG213Tw5qKrqYbKEeEfykICWyHHFpGf xSQs7+d8DdGKhI08h3DCsAIodvWMZF0= Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1d70b0e521eso5958885ad.1 for ; Thu, 18 Jan 2024 10:43:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705603383; x=1706208183; 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=zeI4j4Idz7TgFBkGXvSs6IJWNfZQHvsM8zwFWZMGmnM=; b=Z+Awq0+Ijjb/I3UxTdl9LzyCAY6iYxagLt0y5m84P7f+NDzf8RFssK8zJ7Z61IvpW1 fLMLbiurRrXRntaDJ2MjFs0or3smeSOWQFwrLbFIKBveF8R36yTJVdY9kcTgj+mMXUR6 F8s8Q86fi6qH8tnU+S9albdTmpctVr5GExyBWoXNPitU+G+E8eP62o7NxXjhDpzHlYQK 4gFzEXjSGWKIm8Iowfka8yR85vanEgiECsmYAt3UsrVgKy+PAjUKw22YUQPNE014NiYi u4n7TE5PqwYL3sFDlWiNEo1ePc6QtbAXfFELWujVxO0UucV02H/r9Ohsq5HMhPVDuwM2 fuKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705603383; x=1706208183; 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=zeI4j4Idz7TgFBkGXvSs6IJWNfZQHvsM8zwFWZMGmnM=; b=a9Sa15WJXrGf9YLdxxfUjnL0EcpnzK1/O7sBTt69HM0TuxoG939ysCgPeGcjzGYESv ekKW7l+VbZBCkOg18GCp2REWwK55Pn+KH75MoqkSNZKjn2brQbR2DwKPyH0zqW2L9mez dCgYSVK3BzM7JWd9MOexaEksU4KACReXUiSLP7eem2CK6DVnEDWOTDr6T/ebXHaQYVop ZEWB8J6h01tEA5YCzZTg79LIzFHO+HoYInYDErV/AKMaLvgm1+nS69DRnU3DcLudytX7 E0YCwRs7zRF+5dlXfiTQYtx6uRKjaVgNbwthblKndNX+eSYd+OlqEfihxW4h1KDwy9vw kM0A== X-Gm-Message-State: AOJu0YywPUBtGhiE4ULfh2CSpZqC1JdC13iCTR4UeKSQV3iWL0Frwlqj oFDoS0JO5LysWQYhRt6WVcURrodlZ83cmwq6+vBsDRW9QUmlkLGxqPk7K7QeG4qqqVnYcqsAuFi ax7Ts4gBCTDb6OOFzkEceuPtFHJE= X-Google-Smtp-Source: AGHT+IEv6grbIYOdIbrLGcDoMuL5oGvrY167ZnJIUjcc2FGCIJPklTHs8Ji5ii04DRVGjB5D5E/088J8y73CSq9bHec= X-Received: by 2002:a17:90b:ec4:b0:290:3652:d1b1 with SMTP id gz4-20020a17090b0ec400b002903652d1b1mr742158pjb.10.1705603382785; Thu, 18 Jan 2024 10:43:02 -0800 (PST) MIME-Version: 1.0 References: <20220809142457.4751229f@imladris.surriel.com> <3193bf5b-4e22-412f-8c5b-68574942d9bc@kernel.org> <7103dfea-0db3-44b7-9b2e-e89d4edd19d7@kernel.org> In-Reply-To: <7103dfea-0db3-44b7-9b2e-e89d4edd19d7@kernel.org> From: Yang Shi Date: Thu, 18 Jan 2024 10:42:50 -0800 Message-ID: Subject: Re: [PATCH v2] mm: align larger anonymous mappings on THP boundaries To: Jiri Slaby Cc: Rik van Riel , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, Matthew Wilcox , Christoph Lameter Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 085E180024 X-Stat-Signature: 66gpikzi9oubzfsod5wu35k6m4cxh1cw X-Rspam-User: X-HE-Tag: 1705603383-880528 X-HE-Meta: U2FsdGVkX1+gR5QbTDL68u2NeSYlSq1brR8+jS9il+ZQWzrONL6OktKfq/CItKXGYeKshCyxdMIhTttQLu4uQmO9J5pzO72nbQ8ZRgiO3V0wvc6VtMHpFjbmTxJWw+I4riAvwy4gE7Vj5SI9Qk8iLvtBdzPfhK1Zf2Y35YRi9Fcse1mzFp2y13OlcQ9KnTZRR1DfYmv8d81SMormknZjxQ+pQiDek5BsgrXmJj3+anMOGkGxA01dNVsNuG5iqwSqLgNYV0Ho4NMsGxCvp2SEwTCQjp4L0w/noHa7hjOkLG3VHqyrHuw2JHeaWiBiFXBQhu+jEHOly2yO/LoMmZZ35UizBJi3sIWHUUittNHsnhWYKcnVHVsXXO6BOXFgbtFQ3GVoD4khVyaCEQOnV+ns9kK30Bt0mb3nGXLkCtk1EV3H9CWpMYAWjOi+e2colmATRSSbWqGh+REu1b6w+AfpL8VDqiogsOsL5MC/2pUYvnVZL8jPhi7XCPOatXL2LREv21FX6OD+Quu05nfG7IHPE/WnQtun5dNcwaV12Rylql4TCtVe+AKWKJ7uW0VV24nAlubzxQjAJqtEUPP0peclqKifrR0XueiYXM5E+NmhdrK2kiKQA64cIETx3PR6VgQE+kdXB1cZIbzbCJfgwTivxP7x3hKjrYjyRrDuCW+F5aUBT57b2DGZr8QXWQH0MkQZSTZxYh3k6Tg0PXVfM+Pah+W5tIU0q23PMlFLMOROJnnMJW88LzpUKSDOKcM36BG2om3kTdTBlziISVCp0SJV9OY68eVnhx1uVLz90BWbtrArDgMIoBzrpNNUMP4K7ZzEf4t3NLtiTp1lYVBJRGYnhO0wDWxcOVUZmbsWoFdV+zWJoeD97imtm8alzXgEYvkCi/HvyVbeCp73FME/2/gmFKE4AXE9qLzrUskCXQdBguDxwopxPUXpAROEvKMjfom5vQFawxGDlNZdO2AriNt 3JPSQbt6 ScVcdUeaJqouh3Lrl/U/unu6ZR5E1iTiJHKDVuW1M7GhDOYaW5/C2WWaPpwuFCvlgRQu+CZebiAhAqKWdp2dLV2MknlheyxsfGfMQ12yjB3WEsdsxJmjafHiS6YGLpcICOeyN7BCTN7IOFRoRpiC0lp7wBmZmz0FA0bp2Aw0E9klhZdq9L0KtCi2ilx2qI7iiqGek0OLZywkDvLP0AQD3QM+31WUWKPh9ko92nAcJvsLaDje9fG7ZiLcq1iRrNuOgxA3N231to9vPSr/yuYErVx7K5g6HlhONZkwDTsdFAeo2IumeSqShb0e3DslReHudrL68BLldQgI0a24NDrIzHLofc9CFgSQhrN+9L4e7DJZv7nfDRrGmjXnli70WJO8pmFAxe2Wukh+P7wWqZDbIapaIVU2oYFz7iEuk 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, Jan 17, 2024 at 11:04=E2=80=AFPM Jiri Slaby = wrote: > > On 18. 01. 24, 1:07, Yang Shi wrote: > >> This works around the problem, of course (but is a band-aid, not a fix= ): > >> > >> --- a/mm/mmap.c > >> +++ b/mm/mmap.c > >> @@ -1829,7 +1829,7 @@ get_unmapped_area(struct file *file, unsigned lo= ng > >> addr, unsigned long len, > >> */ > >> pgoff =3D 0; > >> get_area =3D shmem_get_unmapped_area; > >> - } else if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) { > >> + } else if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && > >> !in_32bit_syscall()) { > >> /* Ensures that larger anonymous mappings are THP > >> aligned. */ > >> get_area =3D thp_get_unmapped_area; > >> } > >> > >> > >> thp_get_unmapped_area() does not take care of the legacy stuff... > > > > Could you please help test the below patch? It is compiled, but I > > don't have 32 bit userspace or machine to test it. > > Yeah, for x86_64, it's semantically the same as the above, so this works > too: > > Tested-by: Jiri Slaby Thanks! > > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -811,6 +811,9 @@ static unsigned long > > __thp_get_unmapped_area(struct file *filp, > > loff_t off_align =3D round_up(off, size); > > unsigned long len_pad, ret; > > > > + if (IS_ENABLED(CONFIG_32BIT) || in_compat_syscall()) > > + return 0; > > + > > if (off_end <=3D off_align || (off_end - off_align) < size) > > return 0; > > thanks, > -- > js > suse labs >