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 1042DECAAA3 for ; Fri, 26 Aug 2022 18:35:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79947940008; Fri, 26 Aug 2022 14:35:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 74929940007; Fri, 26 Aug 2022 14:35:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5C239940008; Fri, 26 Aug 2022 14:35:01 -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 4C485940007 for ; Fri, 26 Aug 2022 14:35:01 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 29B8DA07A8 for ; Fri, 26 Aug 2022 18:35:01 +0000 (UTC) X-FDA: 79842595602.01.75B2057 Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by imf20.hostedemail.com (Postfix) with ESMTP id BBBA21C0023 for ; Fri, 26 Aug 2022 18:35:00 +0000 (UTC) Received: from pps.filterd (m0089730.ppops.net [127.0.0.1]) by m0089730.ppops.net (8.17.1.5/8.17.1.5) with ESMTP id 27QIP7TC024845; Fri, 26 Aug 2022 11:34:50 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-id : content-type : content-transfer-encoding : mime-version; s=facebook; bh=GHjJq/YImwWFfvo7zS7kggNsbcGAKVv20w8qhw0OpME=; b=QubPNZ+yspXgjeEPq+55bQiiIrYphwQA/gMjgmLvcivhjfVRzQsdd040Se5ifDlw1z/u x5V44gCI68wWXqL0SDGuNo90/HbQ6If52isynKNfA7zg+wIBYd6PZXVHoaAlrAGnNztt CLj52rsvxv/37Ugmg4pvitheMtFOmzYOiLo= Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46]) by m0089730.ppops.net (PPS) with ESMTPS id 3j6s714181-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 26 Aug 2022 11:34:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HfzdeyUHOcLGTn8zpspkfehvbeSXXvrTihQPwsGk4xf2DAmeE0+keT+C31W4WNRoY42fE75mVPdeP8gQ1LyeQPfEjTmIsYKqiSKQSzL2CyPo3NkP8dJFdd/V3Uo98Y3iJ8XE7aV45f6+E+Xe6CAJLuL4OfJEzqGgeyg1z5jzmlE22YqohqOQQd1YCab0Sd7wyRho+Cgkw2NaOml0jagA3YHtTgrY4p7I2dqYYficTEiKnaggTWPZfnomzKueZDQAeo6eoNRnGPv/QeFKAm8r8V4YMUf7jSAEHsE6Z+6kki8EKElTnzteAzOdo6alSLTAbYiGU2e5itr6CdyKqN3P2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wmj380OVn3nWQmc542q6t4dWm96Pq2f2gVkp4CqV8jI=; b=Qem+pv9l8FwOHg/1IhFpS4tnk0Z4cjmvMeF6ZM9sbW2xXtbNmapoh2Tt61fB+hwDR5XH7gfjycnGU+5wqNXgjfTMvL0/aY/y4tx0nvv1C4ofTDgRmAZNSc5yHuZQcwwxPFgboJOH6j2ZeuVxd02ewzsnbVzj/ktwGaJCpBDX4FFGSD78b0qThbYzOguiMDyG1faVjbOUYldarDIMvrvMqxoKsj/Cm5/49vMkHs5POiK5uso8cAYZSVYxxH7JUHVz8Z72OQKxTpphZNm6p4ngsmDKbEGp1CDAds5sXqNeBqfH+/y1Bi2VuMxRxQp2btBnK8mf+vgQvhwfPUjeI4e9+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from CY4PR15MB1781.namprd15.prod.outlook.com (2603:10b6:910:1f::13) by MN2PR15MB3022.namprd15.prod.outlook.com (2603:10b6:208:e9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Fri, 26 Aug 2022 18:34:40 +0000 Received: from CY4PR15MB1781.namprd15.prod.outlook.com ([fe80::351d:e6bc:a9e4:4118]) by CY4PR15MB1781.namprd15.prod.outlook.com ([fe80::351d:e6bc:a9e4:4118%12]) with mapi id 15.20.5525.019; Fri, 26 Aug 2022 18:34:40 +0000 From: "Alex Zhu (Kernel)" To: David Hildenbrand CC: "linux-mm@kvack.org" , Matthew Wilcox , "hannes@cmpxchg.org" , "akpm@linux-foundation.org" , "riel@surriel.com" , Kernel Team , "linux-kernel@vger.kernel.org" Subject: Re: [RFC 2/3] mm: changes to split_huge_page() to free zero filled tail pages Thread-Topic: [RFC 2/3] mm: changes to split_huge_page() to free zero filled tail pages Thread-Index: AQHYuMfP12/URiDwn0CzT9+YyQULcK3A+PIAgACKfoA= Date: Fri, 26 Aug 2022 18:34:40 +0000 Message-ID: <9AF37F8E-27FB-4DF4-B745-36CB87E39D91@fb.com> References: <490fcdd204ae129a2e43614a569a1cf4bdde9196.1661461643.git.alexlzhu@fb.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1748fb14-c34d-474e-c3d5-08da8791a30c x-ms-traffictypediagnostic: MN2PR15MB3022:EE_ x-fb-source: Internal x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QOmlYM9dnRFKTHE7Dfy3pba5MAGJEyNqHgRafTtfrDLSwlCrHTbqeyR2K0vxTSvtPvnvFeoqq2MtKw5YWnfYa+TTgbvLYHD6A9q0z2URS07AIJ4s5WC0gxw3/I1Dni7ZNpvzRQ8iwaTVeQ0mUMm1QmCSrc3/oS5iJZt2waSAd2cTCrw9Az/bnrONWWn7GC4TN791uo9eykLSLwHsDMgh6rppnL7XEfCmPf+LgY0TuHB74aqC424AoqCtzbrR+57dFG1CikVjPZz9TLsC0yHsCtM8coMBvSVT8M1obzIWVtlYGX/+GGEoYzPXox1KqXA4sN4pKJFA+jXT9hRP8446ievDtqH06NpQj+8JqZ5xVtAJDJwKiYN+bjX+9Jb1mckCF3mk4NTngI9utkSljaBzb7XN4o+7pDrfII2XC3dJB/9Xy7JDqvgPdlon+1BY8le+N3VWvqICydi0SNj8uo+T0UV9bY1HNOe3z3a2cdGl4f5RzOeURi3VvSpBuir9t3GYOojQSAcmp2xG5B4qRTvGrXd4KKg2WBcTtU54+RUtBzPnaSsALd2INc05WmHsnsbyZNEoVrpHc13+uFMifNT4qQgb5LGOJDncN/FHg/dgyYTMGXwgzRTazpKi30chfHvu9nzeUIfmzVMCmXiVAsw5dlVG9eHZ22BOIdHHC23Y9/bGh7ICSq76Vnm20GWWYZ7bwvuvTzSAYWcHFvnc/Y5DQ4kNPnYH9TWRwKmAwJCfgN6mduifJwuVaiu0f2gN00I4/k/VyODqI0Vp3CZYlNaT0QXVE57zPiP6s3ydFd3X9SLka0lu7ZwlZwDntAzmZw10sUL9i0AZi/m4VY+a6HoYc/y+8+GJKEkdtkvqtq3mayFDIE83M7HiHIA2Ifa22D/qFEsgaJxOxlhCJhu6gwl3eA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR15MB1781.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(346002)(39860400002)(136003)(376002)(122000001)(38070700005)(66556008)(6506007)(64756008)(8676002)(66476007)(4326008)(76116006)(66446008)(66946007)(6512007)(6486002)(38100700002)(53546011)(41300700001)(478600001)(71200400001)(316002)(966005)(54906003)(6916009)(91956017)(2616005)(83380400001)(186003)(5660300002)(86362001)(8936002)(2906002)(33656002)(36756003)(14583001)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AZmdL9hIJR2I33D8d6PDn+rHM9/btVulBksdtCSsgnBL/mnKRzxwgJ07qovH?= =?us-ascii?Q?UsrBQLRQWtzV6sZ0bN6hjbBCxio7HM4G5PF/gD6yVdQcAO+h6SBYuSdKAGz4?= =?us-ascii?Q?U3ZASH7+0mv42cVrxg5nmpRf3bf+BDUspSLaa5glnq9gQHT/oTAgjODXKEoU?= =?us-ascii?Q?mnhM0yZhdlnIiMmGALr9q/ZJtnTKPkQVxB84ci3tlaxo5/pzOCBqfJgJiqiY?= =?us-ascii?Q?gEaP4yb95NGP1deUmZ20dv1GheFx9qg2gptqjydwQlRauJaI1hKx2NSP/tP6?= =?us-ascii?Q?jbW2Fk1HZEuD0RUfPh7dmsCl5GOPBo+WCTV4QTSHZghdATv8mY2nOUaQv7MC?= =?us-ascii?Q?bY5+QW2B56uVnLETPTi1vWXaFycX/Wfms0b96xUYZG6lzK9bU8P9FeVa5zHO?= =?us-ascii?Q?RNrViFhkb/oq9H18SL/ad4GSWGXSukOfK6a7g6OqFmZrphxGcvnFku6s1rnq?= =?us-ascii?Q?XJP6YN+D7RGPgUzeUpEh6nPRaZh5yq9r1morfdkFFHjHl+GKNh8twHXZ8u1q?= =?us-ascii?Q?sdRFJSbyZft84wkINxxAwqGBAbpHtQuCGIXbhjzmpg3hBJXePks50VgElZwY?= =?us-ascii?Q?a9uwjk/+Lel5aua7juY23cCNXlHOVO4mLAuMyDHqUzu+WXVi0PEFzsqvO7qJ?= =?us-ascii?Q?IhPBFhSybXWcsh4TdqNLtjpmAO+AW6QsQ5Ldyx7lTiYzvQhZC2MyTit2jVvQ?= =?us-ascii?Q?wzP1t393/T2VPJId/U8+kB3r2ciqgVT95AOvVIZCHiTk9jUm7wx84jXbPsEd?= =?us-ascii?Q?DesO21eP64FT9UMbg4jj80MZc4bzYcawgx+f8/1yxWSqm7jGV9/lSrpSbE4g?= =?us-ascii?Q?3gU81PhDQqZocLOnaq5s3KpOEzGtuh9+brVHivxD4yfFoAVnxWwI1RPvNsr0?= =?us-ascii?Q?ezsgArPMWN1D3vaIESx1fTkBXTDxM02gW2wZ1FsDeI3l2IiPs8heB0MsIyNR?= =?us-ascii?Q?raeYPYxmc4fjVHs6QkvSWvIrH5RroGTUphc51XdmuGPje5e5OJh38PzcBafW?= =?us-ascii?Q?UlwYdVylJxrNKEaOgN7eawgpWDEmZ4Hy4QADnj4F6cz/zzhHfklRlZhww7cX?= =?us-ascii?Q?mTt33aXXp0OobdSYLgS5cd/d4PS94r+CL9caGYYHVudny2ZPmAfI8oynUgf1?= =?us-ascii?Q?Mqj7JjPIHcIJ9mhaRccqGMdRs5YzIQeGy953uWd5HIO+4cLQRU4m9HTRsstG?= =?us-ascii?Q?KR5VXGNn7VSJzYOKPicweoxdBSZaVzucBS0Vc6In6TTwcgsy5i0e+i+iHH/2?= =?us-ascii?Q?Q/iB0spWoInee4/nhToxT2iSpjj97ua8rEjvuvTMkrwirNPxFHdePyYoBv4x?= =?us-ascii?Q?IfkuvyJlgEqm903BhmhLzqxTd/clrtqbR7TJ9xeiwkm2SMSjY0kXI6sz7dxy?= =?us-ascii?Q?yLe461E147haJwbJu1aLcwDp05DQTpqnyT6qkZ6GLF0O6cJnYCdKnH+bGT7o?= =?us-ascii?Q?kFY2o8i2H/qRPHrFyktCr+HSEv3HW1qmwhK+qU4OwX46TlJvHSAw25VIIpq9?= =?us-ascii?Q?EIrAQztZuX8T7m70qWTrnEIOFOTQmXzchXHCejzaHlXQcGeHOIY24KZIHIDi?= =?us-ascii?Q?emRo5XgKTEt7s2kXtpUU9AFjYnJ2bd5UvpAoA9U6yorbELf82dv0FHxI8SU+?= =?us-ascii?Q?MgGCJZfjEtN6E53kfd2wXBU=3D?= Content-ID: <0B27765C8F0E954DA3745CE57EC83BDD@namprd15.prod.outlook.com> X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR15MB1781.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1748fb14-c34d-474e-c3d5-08da8791a30c X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2022 18:34:40.1408 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LedvFSQIzinxi8+ecre/EfgoLNb2O1VzNyZawJB1t7FhxPhWOtyKoSbZxy2IImRY X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR15MB3022 X-Proofpoint-GUID: TXiLodyOEC01ssYj-z8sHLlgInx3XNDO X-Proofpoint-ORIG-GUID: TXiLodyOEC01ssYj-z8sHLlgInx3XNDO Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-26_10,2022-08-25_01,2022-06-22_01 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1661538900; a=rsa-sha256; cv=fail; b=hjj3B/O7KnKreYYv1TUnXjp3uaQuAmDpSXBkw2FOZWM0yCxBidWqbcYaJPhqF0iUrFH78U wjw4svDS2tar5WVNQozVKhl4GI4nn6uUDkXI+ZqhLJ+T9zsxGibHvHwdR1BCja4HXqelQV c8451KuIqPiB8PVNeKF/iBus8FvLscM= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=QubPNZ+y; spf=pass (imf20.hostedemail.com: domain of "prvs=9237dd198f=alexlzhu@fb.com" designates 67.231.153.30 as permitted sender) smtp.mailfrom="prvs=9237dd198f=alexlzhu@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1661538900; 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=GHjJq/YImwWFfvo7zS7kggNsbcGAKVv20w8qhw0OpME=; b=FU4WxpdCkcADy9K36dh8FPBe7klG2Bm1IDjy1gOFHXkyZPPn8UFS5BGi0zeXPwb+yvtH5I w00PXM8bMF42BeT9/7dNPs4Cd5G3j18bGyFeDAvj1E+s6jCt9CzJfLNE9KHLYZl9eMunwl j6BoqiolnSpQj2hm6Sg/FDLBzuxY8c8= X-Stat-Signature: f5xqnzyqs7s4ixp4tjrt4xjjm6ssy7bs X-Rspamd-Queue-Id: BBBA21C0023 X-Rspam-User: X-Rspamd-Server: rspam06 Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=QubPNZ+y; spf=pass (imf20.hostedemail.com: domain of "prvs=9237dd198f=alexlzhu@fb.com" designates 67.231.153.30 as permitted sender) smtp.mailfrom="prvs=9237dd198f=alexlzhu@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") X-HE-Tag: 1661538900-348481 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: > On Aug 26, 2022, at 3:18 AM, David Hildenbrand wrote: >=20 > !-------------------------------------------------------------------| > This Message Is From an External Sender >=20 > |-------------------------------------------------------------------! >=20 > On 25.08.22 23:30, alexlzhu@fb.com wrote: >> From: Alexander Zhu >>=20 >> Currently, when /sys/kernel/mm/transparent_hugepage/enabled=3Dalways is = set >> there are a large number of transparent hugepages that are almost entire= ly >> zero filled. This is mentioned in a number of previous patchsets >> including: >> https://lore.kernel.org/all/20210731063938.1391602-1-yuzhao@google.com/ >> https://lore.kernel.org/all/ >> 1635422215-99394-1-git-send-email-ningzhang@linux.alibaba.com/ >>=20 >> Currently, split_huge_page() does not have a way to identify zero filled >> pages within the THP. Thus these zero pages get remapped and continue to >> create memory waste. In this patch, we identify and free tail pages that >> are zero filled in split_huge_page(). In this way, we avoid mapping these >> pages back into page table entries and can free up unused memory within >> THPs. This is based off the previously mentioned patchset by Yu Zhao. >> However, we chose to free zero tail pages whenever they are encountered >> instead of only on reclaim or migration. We also add a self test to veri= fy >> the RssAnon value to make sure zero pages are not remapped. >>=20 >=20 > Isn't this to some degree splitting the THP (PMDs->PTEs + dissolve > compound page) and then letting KSM replace the zero-filled page by the > shared zeropage? >=20 > --=20 > Thanks, >=20 > David / dhildenb AFAICT KSM may or may not replace the zero filled page with the shared zero= page depending on whether the VMA is mergeable. Whether or not the VMA is mergeable comes from madvise. Madvise only applies to cer= tain memory regions. Here we have THP always enabled rather than on madvise= , and the end goal is to deprecate madvise entirely. These THPs would previously not have been split at all, as we could not ide= ntify which THPs were underutilized, and would thus have just been memory waste when THP was always enabled.=20 In split_huge_page() we chose the most straightforward approach to free (za= p) the zero page immediately to get rid of the memory waste. It does not se= em to me that KSM is necessary here. Thanks, Alex