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 1386DC32771 for ; Wed, 28 Sep 2022 16:22:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 91E2B6B007D; Wed, 28 Sep 2022 12:22:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8CE836B007E; Wed, 28 Sep 2022 12:22:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D26B6B0080; Wed, 28 Sep 2022 12:22:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 5A60F6B007D for ; Wed, 28 Sep 2022 12:22:54 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 1E35FA04B8 for ; Wed, 28 Sep 2022 16:22:54 +0000 (UTC) X-FDA: 79962013068.19.A5B20B0 Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf15.hostedemail.com (Postfix) with ESMTP id 49CF1A002A for ; Wed, 28 Sep 2022 16:22:53 +0000 (UTC) Received: from pps.filterd (m0148461.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 28SA8bhr000802; Wed, 28 Sep 2022 09:22:37 -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-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=bqVYPBWaHi7OiDJ3aiJRNP/RNR0Ojjfw+8ge52sHCTk=; b=QsC7mXkS7MUOe5PWj6v2CULnl0m19i8YVrJN/zdyX7yKOKPcXe56y6mVwTUHpLbPq62u pA9LgYimrdUS6ki3fsaEZIHTTBZ7ZEM5HXRlL+QE56LIR/RlW9ysJuYIA9WzeA0OkpmO J45kBf/p9KZKjzPUWrbeW5EvldT1+GT0r8g= Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2102.outbound.protection.outlook.com [104.47.58.102]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3jvg973kxr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 28 Sep 2022 09:22:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OHAsE/83Tuu2+ltPNzpEW/Ogp2oxolPpVruvaDFUPZGnBlQTJ+zKGI9F+Aro0T5fmPGkd2DPdiBUyXf/pJiO9BU+7JguMcOc8m6T9K+8NCuQsZAgn6AUj389qwV6i7u9MEQgRpgQDS+RN1tr9qeBZD4bWXp7o+vj+JFzmol3TKDb5VENic3idqCP5Zu7G6SMIM5F4qotceEgPLZW/hCUaKLiXoFm+eNzW1jyxHIf/kONp2k1+FIjSIctcWJmtxUd+82zkwqc8LcJ52jG+gBz8HYt5kR50aORAoJ9Vijb06RFc1QyiVQCDkAMMKXuGrt4nFN5gnOth7BUgpEQUKotOw== 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=bqVYPBWaHi7OiDJ3aiJRNP/RNR0Ojjfw+8ge52sHCTk=; b=fRSRoxkgn+xQF5Mq2lUlbaoA9rjcjCLRUuuagxvUflMQ+OSR1gZ0ebEuIdh0y4m5pJSQv/l0vFtYCUSag2YGw+EkwiNFLxKZ1N2bNgB7ZfzU399sXc3tagp5Mjz583s+5MY2T/7PSUeJ+/BfWrs8re14oUuf7K5SdWILY64MjIN3vdkXEVVdnNwrKHvmxvp5yy5lFFeW8Dt69ByAMWYyrc7GzEQa/TbiOOI17D5QfJQJtWlREwnkbN2dtwlEeptsYzvitO5oOpmwbPlH5IkPq7FhMLUZbpTEl9zsY++1Qbzp4eAH4cJyyuwIVQxFHQaafPg33eo4df3N5Wbc+6RVuw== 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 CY4PR15MB1734.namprd15.prod.outlook.com (2603:10b6:910:19::14) by BYAPR15MB3430.namprd15.prod.outlook.com (2603:10b6:a03:107::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Wed, 28 Sep 2022 16:22:35 +0000 Received: from CY4PR15MB1734.namprd15.prod.outlook.com ([fe80::fc7c:15c:9a61:e445]) by CY4PR15MB1734.namprd15.prod.outlook.com ([fe80::fc7c:15c:9a61:e445%12]) with mapi id 15.20.5654.026; Wed, 28 Sep 2022 16:22:34 +0000 From: "Alex Zhu (Kernel)" To: David Hildenbrand CC: "linux-mm@kvack.org" , Matthew Wilcox , "akpm@linux-foundation.org" , "riel@surriel.com" , "hannes@cmpxchg.org" , "linux-kernel@vger.kernel.org" , Kernel Team Subject: Re: [PATCH 0/3] THP Shrinker Thread-Topic: [PATCH 0/3] THP Shrinker Thread-Index: AQHY0wWiHnM2ldg5NkO9z8Pn4WWMYa305SCAgAAh24A= Date: Wed, 28 Sep 2022 16:22:34 +0000 Message-ID: <73C02F96-49C7-4C1F-AF10-F6A61F1D68A4@fb.com> References: 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-traffictypediagnostic: CY4PR15MB1734:EE_|BYAPR15MB3430:EE_ x-ms-office365-filtering-correlation-id: 62360618-bfe1-4cee-16a9-08daa16da6d3 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: NgLsJnYB/m+V2Yvl1rX9d59GByjbUhKT1CKTBEQe/VogVWDFBm3xlVbuBCzm348TnlkcLlDE5jIMTOrMIB+lznYg9IgukL7h0cMeA/xpSHflQqE0RXvoxcK4l05PkaW6UebI94uXr6LyKfwXox8ajijnH6xoGRPuogJLHolUVAERKHTFXPHb/coIGOL0Fn6FOVR07nM9UB5vttFhRj4xu9iY2HTRipA8PGSSsIEPERUaOaafHf7BzUHz2UBUqxYcHgtMTj2za25G6MiPHc2CEW0jXz3smrO201UUCw5Qh95uXTKuUltjXquCZmu/DyvbHHoF3FOplOYd64LMk+qwZLicNrv1imObjZZpKYrdsLCKdwLCMPhzfmM5hELCrLcLJ/wruwwvYoT9xMS53N0A8qKoHb0NZ3ToihYawmXiUNfQAO/XwSD3lrrsm8VEomYX2BzE/dFEV3j1gs76RacG1MJRKL/3Zm8BKLLWGRDJp9tLpxcUlLyyZwP/T4n0vVj5kVdKVW9/wP5AypC/gUs23Zg3/1/Art4DluecywHUjzS24Vce8UZRDrV+KSSh+Hz1OoobtewNzONdVIrLQ/Z1EwHxpWip0QUEnPscuYAZemWNVyT8uKbQUDCDP6fEPZVgtL/d7YK6iDna7MFaf1hxmHyZO6qGww3R9iXJCOjK/CbQI31EG/NUOFRBWe8FzeXShBguPTqNuLiem1jg/FW56yIbJ8iH+x8ho77jE+WMXOHPzmDdOY2zjvw4dad0O4YGpphEf78c4KPGW759fK4Ri2MBnpJ+iUXShQW0PdsYUno= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR15MB1734.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(451199015)(36756003)(41300700001)(186003)(6512007)(2906002)(6506007)(8936002)(2616005)(122000001)(38100700002)(5660300002)(38070700005)(6916009)(83380400001)(86362001)(33656002)(54906003)(6486002)(71200400001)(478600001)(4326008)(316002)(8676002)(66446008)(76116006)(66556008)(64756008)(66476007)(91956017)(66946007)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?KYqxgSEZKY+ITuoS2uqORK4VmhkXjojfcJs6yO99aDXz9Xk2iQ8ueE4In9l+?= =?us-ascii?Q?eWwyQFPa335Q9TVGSJ9Q7q6H5mFoJpIol9rTubgkrum4kgIrwqc1FdUZ8NN4?= =?us-ascii?Q?o6aHgxwVrenN8USTnWLzM6OrRSMxWdRpJoHgQTlcoW7wgJt/AHZFs5ULYJis?= =?us-ascii?Q?vU3zfh5etza79A/NoRuGLVe01AosomhNHLXl1ylsxbJ7+q+R1IAuxO9Xdoxu?= =?us-ascii?Q?JlzIarEz98YslcOvRFXFigWiU65nP9kjxe5c8X9q2uL2Zd6buGqjAp1Xbp4B?= =?us-ascii?Q?buomHeV6c+0ciM+KUF4GpruAhwEkn45RP28lV5qhwOeMWZEzprrKeV3504Ul?= =?us-ascii?Q?Cxz6PYtZmHnkYHR10CCB2G3yS5JNFIu7mOYoEBBX3NW0j5J8Ag1O4kSQiZm9?= =?us-ascii?Q?5ASWmj+OwO8XU0zMQAyiqmtXZSKZUKwvoS1wsSZfElp3371R1K39z1kjkf6O?= =?us-ascii?Q?CTbnN9gTI60/d4mmpR9yd/OZrujRb2kR2NlvJCc24VGtWk4vIZ4KKIsHdH0X?= =?us-ascii?Q?V9LLABxgD9+fHeVcMF8Hjc6xaHW9yNNoQFGvA3Yll+7VBiMQUdPASr64Fgvd?= =?us-ascii?Q?EFwvwZdRQMEvOtX443bKKX/Rak8rLFweENkiq8DxR8pSSFL5sXupimxlih32?= =?us-ascii?Q?AYsmpAv8lc7GRUJeF5A5+SZdB2Whk5DJD8c8Ir5jBT7UbZXV9Rh/78kyo3vB?= =?us-ascii?Q?HOK7YAxpLw1VMuYW1Hh/T0Nx7f+d4ZA6jxxmknKvNR3pb8bxl9ybS3iQEAg8?= =?us-ascii?Q?UJEzj/Ou7NjfDRIc7JRe5KHaKbp5E1ncA1dMFKsUsFyuznxtgRX+RXpMIuE7?= =?us-ascii?Q?hVq2VpwT8wjMJw9FoC5FSY39dakmpw8oEEjI788yXT8le/FTBB/t0VuCnW1B?= =?us-ascii?Q?27YYxgSQZyvK420RmNaxyHrrU4RnvdjjXxrxVxHN3+TIkZhJ+sUik8rdimwm?= =?us-ascii?Q?t4qHG05s9ZRv4a4hySPMvgohKn5mmxKdCGK2+bb+QQ42ttMXDPNLaPJb1RDL?= =?us-ascii?Q?6iBt5nhe1TbmLObJt3i4i8UN+vZbwTzhD4LmTDYR4hzhf1FwfVYvn486l7qY?= =?us-ascii?Q?eFSEwVnbjmwrlxQXSsKlwevcwn7Y/AKYZw3nxe9O5/gI1tPZrmLfaUk0st1V?= =?us-ascii?Q?cS9pZqd1GO8txX4iFkP11rrpTHfA/wlrR//JIg+VVg5WP9W20v2MqDo8kO6M?= =?us-ascii?Q?Nu/t4gF5XDre/QVXlc8WgRH/8FY22DxyexyJ41y9ud3JyquWXAxlKEy6ze85?= =?us-ascii?Q?S8j+r+EYhZZwcRAQrbdzS4rwCfDHICjZlgtMQma+DEDNR9F6sbGtR7AKwREu?= =?us-ascii?Q?jsqPbjhU1Si4TW+kc8BdWQxidUl7oyrJZDCxUGCvrMG+QJyehcsekqsnuj/4?= =?us-ascii?Q?GGWkuIOnraiGujbTwM9fRwRWxtazGh8FuKNHorJ4sBRSpptLSxhaR+AR/Jd3?= =?us-ascii?Q?/O5IQul9UMernV8h/83jJ/LdeVyGigX0JPTgjh70EfQqOmnQRqtwGVnWQODR?= =?us-ascii?Q?OUFQod9CMUSj1cfXCP0VaXBuHEw9C9MZlpXWstFvreZiwqlPKIui/az6YVN0?= =?us-ascii?Q?p3Sw7t9a9DmBTkhd6LjVb75KgmaaWf9efrCUsn7aYF7it+LcShP6mFcDbFn5?= =?us-ascii?Q?UI3h/luUlY24srVW98rVhBQ=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR15MB1734.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62360618-bfe1-4cee-16a9-08daa16da6d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2022 16:22:34.8549 (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: ijjixC0bEqff9kYqplGacedvUkifzWM51/1lH8G9PHJbl2d4212F1wUd7VxMjLxn X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR15MB3430 X-Proofpoint-GUID: z_uX7PIRXg4h21FkS7A8gUxaZPg6K4RS X-Proofpoint-ORIG-GUID: z_uX7PIRXg4h21FkS7A8gUxaZPg6K4RS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-28_07,2022-09-28_01,2022-06-22_01 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1664382173; a=rsa-sha256; cv=pass; b=VDfQdnnur6On5c93ROrC3a0F3Zr3Cur54Oa1uR+gy85RfpiWhjfhdlOY+/RtusHA4pciWG VSwAn0Vvzkk6bbbFURlf3MfsvmXYS0KP1Ztlw2/eINdQ2wJyplwWaCVplToEPeIG5MfA7Y h7go6+yMEqCfr95SskewycJ6vi9jwKs= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=QsC7mXkS; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of "prvs=127085d7a8=alexlzhu@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=127085d7a8=alexlzhu@fb.com" ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664382173; 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=bqVYPBWaHi7OiDJ3aiJRNP/RNR0Ojjfw+8ge52sHCTk=; b=evj2lGH5FoggbCcUpywyJha37n6LZ36LjjbWVJJR4ynJe7X/Qa5R0Iri16poMVPwQCHr+u mfO14+Ikp9E4SyW8SUrV37ldi5Zui7A/0BgowSjCGeGPZSr52riZJqhYT78uRVUlLP17wu CNKgBanQa2SoAXNXpZ3/M9gbQ6mjJ0E= X-Stat-Signature: ozyk4wbxh44n1tyipep7y8hjhrj1dhae X-Rspamd-Queue-Id: 49CF1A002A X-Rspamd-Server: rspam04 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=QsC7mXkS; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf15.hostedemail.com: domain of "prvs=127085d7a8=alexlzhu@fb.com" designates 67.231.145.42 as permitted sender) smtp.mailfrom="prvs=127085d7a8=alexlzhu@fb.com" X-Rspam-User: X-HE-Tag: 1664382173-489909 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: Sorry about that. The diff to the RFC: -Remove all THPs that are not in the top utilization bucket. This is what w= e have found to perform the best in production testing, we have found that = there are an almost trivial number of THPs in the middle range of buckets t= hat account for most of the memory waste.=20 -Added check for THP utilization prior to split_huge_page for the THP Shrin= ker. This is to account for THPs that move to the top bucket, but were unde= rutilized at the time they were added to the list_lru.=20 -Refactored out the code to obtain the thp_utilization_bucket, as that now = has to be used in multiple places. -Multiply the shrink_count and scan_count by HPAGE_PMD_NR. This is because = a THP is 512 pages, and should count as 512 objects in reclaim. This way re= claim is triggered at a more appropriate frequency than in the RFC.=20 -Added support to map to the read only zero page when splitting a THP regis= tered with userfaultfd. Also added a self test to verify that this is worki= ng.=20 -Only trigger the unmap_clean/zap in split_huge_page on anonymous THPs. We = cannot zap zero pages for file THPs. Thanks, Alex