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 397B7C47DB3 for ; Thu, 18 Jan 2024 17:48:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A6A546B0095; Thu, 18 Jan 2024 12:48:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A1ADD6B0096; Thu, 18 Jan 2024 12:48:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8E2B56B0098; Thu, 18 Jan 2024 12:48:53 -0500 (EST) 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 7C0EE6B0095 for ; Thu, 18 Jan 2024 12:48:53 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 310F5A2337 for ; Thu, 18 Jan 2024 17:48:53 +0000 (UTC) X-FDA: 81693167346.30.C298307 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf11.hostedemail.com (Postfix) with ESMTP id 6E5FC4000B for ; Thu, 18 Jan 2024 17:48:51 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dl7HKXuI; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705600131; a=rsa-sha256; cv=none; b=miHb5MsWMX58PGZYPjHqKcnOq5HW4cHA9Wta4VASI3D6/2l5JFBvgm2je5fU+acMw4pk/R 0a4U9EwTKcqpJmHw6xDrxiuvR2wQN+nu1sSaU/HePDVXicfgjVgsh0C+iotakMOMtQt8K7 uB/oXHXW5OtcvmVJ0JwpILyOjcEqy1k= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=dl7HKXuI; spf=pass (imf11.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705600131; 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=7xMCVpjt6og7IYSWfVKabA1D+KrdlbrTvIb7TgeO+2U=; b=xYc7xstC1C3srDzAqNcIJrcRhGWmQMfgQifzcmIFirFUa6Hb2BMWDqwzmR9UmgqoPVBh2R /cdnGj+j+yHZUwFKzinCit3450XC28VYgKca/Pnl2M3t7oy7zqqQo8O3HXySTP9exKhkxu /ZawCwA+B4rHOiEWpfuyu9Rz0v4f4dI= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-5e784ce9bb8so8662347b3.0 for ; Thu, 18 Jan 2024 09:48:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705600130; x=1706204930; 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=7xMCVpjt6og7IYSWfVKabA1D+KrdlbrTvIb7TgeO+2U=; b=dl7HKXuI+dKZd3OgKq1q0alOn+pUU3JBk3OZwdFwvKBHidpnUFfkKcab2C8lKGE95u KrTp52Tlal5dpoglNnxxobZQA3XIZ5v1J13E1msQXTps9TOWswioCPODyS1FQOaZU0gs zf9R5QK9rDIVpOzFuKesYP+kPUpT8gQvHByQa4K6QyJtFCW0vxez2vi0gG1PEcNkVWds F8aqLPj5NXBor6G9Ci9MhNGVb1b0TkM72zUJqGcyOmtcEM/utuvkV1fYqg25oFI5cevr CJ5cxFpYMOcl5kFlDc5nOHfSgGmIyXUECcLFfHiStSRcJhDomNEG9dunWrebPhbymujH 35VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705600130; x=1706204930; 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=7xMCVpjt6og7IYSWfVKabA1D+KrdlbrTvIb7TgeO+2U=; b=pfG1AdDBamf2reP6rBTpBl6XWir9ztz17ieq8hYXdd2CrDZjMb6CTHSUA/cQy/o0xM mTCBTcmbanS0lHfZ3Y/FYoCT8O9HGBd6OJl8Es7tzmPTJE/y11a9LEDKkSuPsc+Cpo4Y 35eMhBFO8QTJPpsQRAZMlpfigpzws9sMwE40QW787n5aioeExvCW21QduBQr8CDDvdfN NgktmV98kzwXlu7iDnHXj85OMflHm2fXxhw7CQ77KuPl89p2uBAdH4chhhzn4Dv/BQ7N zSSeB/I71z+foiOFSF/XZURPyZMQB+dQEL5KYbGj5bvXo9uoGNpCbssGUvzveDWwjmRb GubQ== X-Gm-Message-State: AOJu0Yyi3zDOW8XcP2ROoBohKf3teA9nEpvlfOlRA826beGR+gldu/3B JQCoSI4GwTpMIL6QtI/nfdZldo2Qxt0hyCLMAFxQ+Vsd50VYJKPdjo6TWBiThUUEFXnZBU/K4ia 9dJlqrFt0vlo0pSqj0cRJ00fZe8fvH+uXjmMc X-Google-Smtp-Source: AGHT+IG53tiLl7cTdCfaGiMMsuvtGsCGttyvvh7ebp0TX11EfeB5sD3LHATqXNJDujKp//K6P7X4Oit3RdJJOpmdg9A= X-Received: by 2002:a81:8416:0:b0:5ff:7e39:69a0 with SMTP id u22-20020a818416000000b005ff7e3969a0mr1670609ywf.31.1705600130272; Thu, 18 Jan 2024 09:48:50 -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: Suren Baghdasaryan Date: Thu, 18 Jan 2024 09:48:39 -0800 Message-ID: Subject: Re: [PATCH v2] mm: align larger anonymous mappings on THP boundaries To: Jiri Slaby Cc: Yang Shi , 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: rspam08 X-Rspamd-Queue-Id: 6E5FC4000B X-Stat-Signature: ampzzcxw5ru4915nwf3fpyiyqzazjsws X-Rspam-User: X-HE-Tag: 1705600131-341143 X-HE-Meta: U2FsdGVkX19OTJYV73GgCt/mMJPfSQ0AGqVVI/itREllGBL6+MC87SVZY8S7fGzrk4mTGacLyLnLPMUfOF3pNS1gzJ+vDTOi06WpAk9+mCBT8WkhNtpCiSKgLyvDPmm/2Bv0mMidK/yS38SrIuBLPx63XsIgO2wJ9EgOgxEy+MpdyPbcn8b540FndGG+JwCZlVjP/w/xfrgzVMvSyxzY/TTJ4bgTRY7AyDDL/tlCktsU3FcdpLaVuJEvfz90udJAlzA3+hhpZazhVL0NTU4xQFxnAecuY89ZPQCaE3NTBu0K11lF50uVh+UujjNXXpy4rRBdLjFJxRlOY5kZCs/rBpQ4iu62Xe5q8NDMMgRX1MvGFKChN8qoUnxTuLhOu5RMSWdSTvE2jLeEnEZrzS3R7PUQbA2JyMGlDlWnq+RBxnZaALSSvwf7Lo7xxpv9XQt8XrEq6SfExpYN8B7Mj/Fndhn5oHEB4LqPVTTpH5S0Da3ozK609lzIzRG/KPr8/6o+ojE+uxsHBDkWwLgU2A8s9NHsO10I6L1oG4xi4CPoOzWr7F3lEj9JQ0F+a/VxRpONnpyNgBy6ZzqdDIstqiaIuRhx8Rwc/DXK13fsub+mc0kIIEL7PFzSqoYB4iAEDXZ9xHgq1a5uv3ePUVp7WipPFjKpJ4OWerlG6IRRvZm+TU+g5XwZjrWJV4ieNPl8WA5HbjPwN/zv6t2xZGgtzeRs7jiELT7LJCdO+/FMBWViINsduiawdmZ+vTDtiQ4ymLhk7AVfE8HHCcc49PKL85rQauMm4wVqYi5nVrMmiw0l4lzBbQwJZy56MbbLRc6Q2Yo5Kuy3/u8XukloJhLrPWeeJzrC4PNhWl4zoqKeItl/qIZElZJUK/G2Nb5r9rN/uEClT++QpMqYcCAVQ2iVMMkj/1f68ZErFx39hGewo9lKn4h0xZ9nwRGQeuwdK1UO5BpEbPYLGuu7oJKQYkxEzk6 x4N1qTPa 8+AAavlDgNMglcfn4c804gNfxi32QNAAd7UwvcnqRrNXoqkAVdvumyiT5fLS1/FvxvLGsgICG6bOoARX4lk546PsU4FytPTReghDxw6GYruOhwf01fwK7lFxPYBg+Eccu9r3sQKpmJF4d5JygOnvH3sl+7ZIGAzG+kAOXjn5GRqU+usiIzY4SzBmlNB/bBDkM7HWEg7QbOAJBBtkZQKdoS+RpazIm6BIqQ3PNNDcQXPLtDcP2LvCh127b93NF/cx6kZkMIFNx0IhU0opuEpYnm/GjGr092nNg9nwfOl+oSmK1rNZ7nZM8pO75GA== 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:05=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 With the addition of #include it builds and passes our tests as well. Thanks! Tested-by: Suren Baghdasaryan > > > --- 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 > >