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 1F375C47DAF for ; Thu, 18 Jan 2024 18:42:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 73D696B00A9; Thu, 18 Jan 2024 13:42:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6ED326B00AD; Thu, 18 Jan 2024 13:42:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DBDC6B00AE; Thu, 18 Jan 2024 13:42:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 4FCF36B00A9 for ; Thu, 18 Jan 2024 13:42:29 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 23D341A0E11 for ; Thu, 18 Jan 2024 18:42:29 +0000 (UTC) X-FDA: 81693302418.30.C8CC457 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by imf09.hostedemail.com (Postfix) with ESMTP id 5C9B6140023 for ; Thu, 18 Jan 2024 18:42:26 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jJmb5ZVa; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.172 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=1705603346; 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=RhZ/dFhXJNNurB9wu0lnJIATao3bMZW6Ig6WKQMp+aU=; b=14p8MdK0Qa1jBz0e22X6VGtMoUG/BS9Xv1ClpHYMyxoORcudPMJffIcFzcisCNX9mUXOPm sT1E/PE/iiasWqEkqWTdRhCIlw4Oi9s+T1lVZrPpGnW2jcaTYGgrUHafxrN039phllBG3X LjChviXH23cGIeNgEBdGWVeDVFC3kB8= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jJmb5ZVa; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705603346; a=rsa-sha256; cv=none; b=zzKVA0Vn7i0qo3Lv+OW2sf0+1ck+6zQCd+j0wluESycCXLq4XHzd7xzc6AAxIAbTM95NeL fpm0wNceoHClGrNmshA/lIS2jRHV3yNwy8ZD3D5nSwpIe6EdW/ibmI7z92Ez1Itlykr79u xvuNq8O0BHzyski+soc5SnijZ6omA9Y= Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-5cf87cdc4c5so2837596a12.1 for ; Thu, 18 Jan 2024 10:42:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705603345; x=1706208145; 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=RhZ/dFhXJNNurB9wu0lnJIATao3bMZW6Ig6WKQMp+aU=; b=jJmb5ZVaMPcVzu1lCy2wa9mVz3X2y+lvZCV8UrXEvj4Y+d7Fy9YADmUqeXxmS9lEuF peP6v0NYtH9W66QVkgDQJ5i/lFSSNmGd2Q4SdHoFb+8FBmZIXKnmDmzGruWgVd0/jjy/ M2I95abdoasZrkhuqTBblGGqkGBC/DbPLcv9KFn+R8lbaVfuTlApKMSIll9chslxZ4e4 9tkaQDR3iparsUx89oj7YyknqATcuqPnVtYsbF79ZF1JA1VufEtazWc95AJvs4Zi0Rc1 GQsi1ERlOzCS/+qIuSOOeZmoxfqq/Rs/2RhmWQ0agZnlZLJ0sznRNa6SzOyKLAu78xVb XfcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705603345; x=1706208145; 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=RhZ/dFhXJNNurB9wu0lnJIATao3bMZW6Ig6WKQMp+aU=; b=XA4DmN3AlEnRdQrxoq1uVS7xsefk7PtnZPpjeZExUSBAOZOZ9BYmnFN56QvZVr7OEa //OA231b+++AH4fggzfP8jEkfxP6LWlm2+NDrLztdoFIYJtXtFllQSmKouAFg0gizVl5 fuFnqTaDd8/fZeaUlws1rFJIW3aWNJU5SGP+hmIx3VWNqlf4jSAN0LslLT2fLeg3aWkh RmaDg33RB15ZBh9olF+M2Xt/ctnG75cVuJFBRYesxFLr13KiRtl82TIR6dEScuO55X/y SMuuRbasqZca+XKiv6MD7Nw+ctWCl/PFwH0wQh1K+/Ub7m07letFEf7ULAJ1Zrb3Rufp KXzA== X-Gm-Message-State: AOJu0YysE6GK4n/txBirgo44397Cj4bKjwuank4j26suJc04rELnppab wenpUGPpNx+ShwSQ3xROviF1r3WyzTOe0aZNNKWikAj7tkEfKBWeInOt3gPrr6494LMlXe4Yy+u nRQ9//APte4N74+RpLZVElAIuAYQ= X-Google-Smtp-Source: AGHT+IFTXjkgH8H3vsPwHkEwD+kQenVF4YhtyJ08Gx7zvlaUrYIgZXcv2KFOL9EX7kfrC6jFYmlwVAav8q9ry4WKJUk= X-Received: by 2002:a17:90a:744c:b0:28c:cec8:cfe0 with SMTP id o12-20020a17090a744c00b0028ccec8cfe0mr1164567pjk.94.1705603345045; Thu, 18 Jan 2024 10:42:25 -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: From: Yang Shi Date: Thu, 18 Jan 2024 10:42:12 -0800 Message-ID: Subject: Re: [PATCH v2] mm: align larger anonymous mappings on THP boundaries To: Suren Baghdasaryan Cc: Jiri Slaby , 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-Queue-Id: 5C9B6140023 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: s7uo5di36b7yktg97m8nxze9s7tknmdm X-HE-Tag: 1705603346-54366 X-HE-Meta: U2FsdGVkX18hrPIVaptrCz4GygdeuzqU+928XyNhOrs1n9niTcf6AAcBfYybqdKYbc/a9eQiqXswT1YIhHG9hCeS3soEhvQf4XCIavjOu4umLN54E3+nj4vwBVwOQeSJI1tMhMJkiUZdiFMrHvAMPJ10bCoTpDiBA/XJ55nNI1OU4F1dANYcTXCPpHsRgR2MVql56mlI97A1opKpF2mOnh1XuHH+F1gqemvOUa6PKW5DVQbstUAvkm0w/JKA1qA57jpWvpsSLdkD0UutdejxqQ1c3HHXGm1fXlTCf+fwshYKC90L7vsRQ8Yxp/+1X9iiEQL3rlEg4+Fr4FDgTa7RAgSc1Fl57WHVLw8USE0xQfpMie/SsKgkGjBdTu0j42FNrkKXyCWjkYv3Xx3f5r4BXj6Rd9lqFlj5TfYoYYfPgGUQlJASEZ9RkZa2Q5DsAHMPrYNAt3Ds3fTSMPNzFqbvvhO/I7nlamSjt9+V92idayTpU0r7sLI6pr21Wy96x4WTY24cpvpazLUhmGhs1ewQS+MNuB1rkMnMMT8ObJ9iy8c+4Y1uRayQlxZQ4wSA3pdSGGIJ3Ncf0GjIXLNCOzutKInpZlNHQUe8gvtdkTHpI7/Z8Lo/4BFM7teANrf+TvG7x5HppTN9PrMxr72kvh/iaD0ZOYri2qloNrImN59YQrYUk8rZOcU4lPDF6oSu0G3orKN8bWpuMMJcfcPLImLgyMLKn8Q0EERju9hgS2/KYo5X9yDpptUF8WFj5Lake6IaS6MJ68pShmgrB8JRx85gRw3tPtgBm9HLr6EpwpBGZk2Np0iO+M4vr12M6b5INfSQtsa4fHZLr5z0QsV7sdvbQz/hX6nRpGeuw+hamt7Hr+JlVB62JkpUg7unHcG2rdEae/Ya0Ikk5lX22gXzmRgveNxyxhePQmau2P9XUmKblZzAE5dxsHkP3TeA9W92jgyrL4F6jGMirZMJMJpPQyC My/sHgtz ybWFY85J5yTsmRzSaQYJgV6P3O1iaZdbhXRYPo+yZNA5t1wDDHm2Hzfr31ak6fhVxiYf566uynbfWRWf+pxd1kTVRyZ5URlqMcDKEB4E4OsjBDA59Tw0kK8dpTItTvdee9Zsya9RSnubN9cDieEW/qqS6KUiDwKwmoBVLkAqB0ZfSRxpFOdRKbleTk0kerHOHJsLtGyzYKi13bzXKKc0xGRXjmhW393IW5xtgWiH0qdI7tfbmtgi95HkNrY8Zo6CLoijeBCt1vsG5eK1lp85mkfruQw26m17KODF/Gk2WYUVE6xkJgovMNA0hI3nDGH/vd4LUWRVz5tptXVOrqASRef1axszK9CxQJLXH2VSr1Pt4ibYhd9oKS0S95+0vwbLDpnSoqOfRILZ2u97lSm1/iIf2b8xOFCHDZx2MbrTbhK5YlQ4QrketCqucNA== 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 Thu, Jan 18, 2024 at 9:48=E2=80=AFAM Suren Baghdasaryan wrote: > > 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 f= ix): > > >> > > >> --- a/mm/mmap.c > > >> +++ b/mm/mmap.c > > >> @@ -1829,7 +1829,7 @@ get_unmapped_area(struct file *file, unsigned = long > > >> 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 work= s > > too: > > > > Tested-by: Jiri Slaby > > With the addition of #include it builds and passes > our tests as well. Thanks! > > Tested-by: Suren Baghdasaryan Thanks for checking the test case and testing the patch. I will fix it and post the formal patch. > > > > > > --- 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 > > > >