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 D07F5C47071 for ; Thu, 16 Nov 2023 09:59:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50FCD6B0444; Thu, 16 Nov 2023 04:59:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BFB66B0445; Thu, 16 Nov 2023 04:59:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 389AF6B0446; Thu, 16 Nov 2023 04:59:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 257EB6B0444 for ; Thu, 16 Nov 2023 04:59:07 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DFB54A0BEE for ; Thu, 16 Nov 2023 09:59:06 +0000 (UTC) X-FDA: 81463369092.10.0CCE033 Received: from outbound-smtp24.blacknight.com (outbound-smtp24.blacknight.com [81.17.249.192]) by imf26.hostedemail.com (Postfix) with ESMTP id BCEEE140020 for ; Thu, 16 Nov 2023 09:59:04 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf26.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.192 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700128745; 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: in-reply-to:in-reply-to:references:references; bh=/HG3tlzMibBl6Jhvgz0RxMtSRco3o3vqgZJv0w/Dj18=; b=ADl0JLheqG8nPg12COftDN+cM99WYYkCGLMzuVb7dLcBafXZjNCB0H56ZVAXy1lhkmLdiy +Yt937iOfPbnMDOb9TtBykOsy1kmPsK085/EHD2Whjv+0K2FR+QJDhbHDUWM6y2Nw4b5No lTdfzPsV76qiaDssxuaygsHz3KIY794= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf26.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.192 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700128745; a=rsa-sha256; cv=none; b=hbCLFHRB0S0rFbpzTNOAPrH3fyr0V83xQ5j5evh3Q7Ss233jHIcIdOPXIoZ/wvQqm0KofO Uw+yYqVJLidy7TIbSxd4CkcKBeRUPnpz5WLYnDxpYlt0ivbaOYIcx7uYVuI8TBuc56UQfd AAqbqmHQizYaq1tHNCHClfRq6Q4OYs4= Received: from mail.blacknight.com (pemlinmail05.blacknight.ie [81.17.254.26]) by outbound-smtp24.blacknight.com (Postfix) with ESMTPS id BF974C0EB3 for ; Thu, 16 Nov 2023 09:59:02 +0000 (GMT) Received: (qmail 17829 invoked from network); 16 Nov 2023 09:59:02 -0000 Received: from unknown (HELO mail.blacknight.com) (mgorman@techsingularity.net@[81.17.254.19]) by 81.17.254.26 with ESMTPA; 16 Nov 2023 09:59:02 -0000 Date: Thu, 16 Nov 2023 09:59:01 +0000 From: Mel Gorman To: Charan Teja Kalla Cc: akpm@linux-foundation.org, mhocko@suse.com, david@redhat.com, vbabka@suse.cz, hannes@cmpxchg.org, quic_pkondeti@quicinc.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH V2 2/3] mm: page_alloc: correct high atomic reserve calculations Message-ID: <20231116095901.72oqtjoiqzt3tfhj@techsingularity.net> References: <905d99651423ee85aeb7a71982b95ee9bb05ee99.1699104759.git.quic_charante@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <905d99651423ee85aeb7a71982b95ee9bb05ee99.1699104759.git.quic_charante@quicinc.com> X-Rspamd-Queue-Id: BCEEE140020 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: bzdet43fc75ezrfwhkfezoohx3phgzrc X-HE-Tag: 1700128744-923821 X-HE-Meta: U2FsdGVkX19BI2CGqDuiRGNNBfdZtTtU4xdTRxoNhuhGW7qyivL0xhbl5RHrFP2d+b6SZGnQaM0/2KUMknJ+bMos+zgPXNF1Acv+HQwsQgnG0iQt69EMDn/x4bmwQI8mLovDXPddhThsUMat+9vTyOlKoApTvElyKgHm5hE0C3DGbY8D58oE6ah074FKerYynf18zpC7iLZPsFu1WBKY4XOkmZFonmedrLKx66vXdp2gPRPVI7zY/c0a9QVHwC/DEsr530X6GCGHp/emZF5J84rOKSjJiTvwQO01xZaz1TaPKEICAnU43AjQMqwhP6z8g71RLATPKWKmPorhddqefiKUYYzbf280JgG8hWQKURQJnf8dkmjQSnC+aLRHM6tx9QYzyQVPv8NilLIOnKNOjPlinqF7kXzXXhkO25OYALpwKE2Iy97yEp2KMd2TEhgQzbe7npIOH2ccO2Rtv4DpPK5SqdVX9XDcmfrk19LzO0EE0tH87tN0bvk2nHpYbtVhmw8Wu4TQ0SZotY9o11/sDQLHUA/lTamaYQe9+4Yead5jKIsRDiaBQFbph6S6GNoVIFbwHhHQOi2vPq07r44RwmbkoPhhWdvYfp8LEfM/n+zu5YWke7wjwObUyvF6hdmmMoHBpLD6BDwJ5a8kDp9B9cTbagA2G5PeVezJKcXwxi/NClym49jgN08qJhVtM/TXbK1/HDQjmGnZmPpnAVfU6r88zpaNC+IYhec+HEeIooyOeb8toTjDWIvBHQOcXQ2hnI9Rp4oeZGGfd4h90ssgnF07UyBQhNRSSX6JnAssB+7h2zFjUSgy4r+U8l7osMeLXMfGt5K9CSkIWJ/MuNQ9jYdCYvEaQPNvSYdvOLY6o4513W/KaEiv2slMwWrL57k2sQd67eXNHT13rbJrYOx/h59gYGK5TIVSYySX5UlciKVvD+wbcGbaEYqA46lv1PE6fKm4FRaemWYh7Z0UHbz fO2I4XbZ FdnLlYjyjAKwVB4bnZ1zxKuZXav0tPfBi8XBe+a6hiTVwQ3OJF6vdv57L9+NdahU3ENF4rpSNVqThLElC+C0uxIdSMYZRkj8tF+BkCQt3QB4T+yCIi1gGTzSkke+2AQRd+Jol8xrEsp7wCN0zXqBEH6vsDWadO9E1DeVBDwZnEYBRgr91KNrVjBjnaEh2Fo+45/UsdLOQY1dLA/E9sANAslsKs3Vs6XW4dcEZePqA/iiAL3hYnEDXRgiQl3Vh+XHxEdSqEV45FZOD6tvHqXZJMWoUHZxzXUezXdPp7BazH3KKod3l52luPNLLadff/c9wpvFowUfFbL521wE= 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 Sun, Nov 05, 2023 at 06:20:49PM +0530, Charan Teja Kalla wrote: > reserve_highatomic_pageblock() aims to reserve the 1% of the managed > pages of a zone, which is used for the high order atomic allocations. > > It uses the below calculation to reserve: > static void reserve_highatomic_pageblock(struct page *page, ....) { > > ....... > max_managed = (zone_managed_pages(zone) / 100) + pageblock_nr_pages; > > if (zone->nr_reserved_highatomic >= max_managed) > goto out; > > zone->nr_reserved_highatomic += pageblock_nr_pages; > set_pageblock_migratetype(page, MIGRATE_HIGHATOMIC); > move_freepages_block(zone, page, MIGRATE_HIGHATOMIC, NULL); > > out: > .... > } > > Since we are always appending the 1% of zone managed pages count to > pageblock_nr_pages, the minimum it is turning into 2 pageblocks as the > nr_reserved_highatomic is incremented/decremented in pageblock sizes. > > Encountered a system(actually a VM running on the Linux kernel) with the > below zone configuration: > Normal free:7728kB boost:0kB min:804kB low:1004kB high:1204kB > reserved_highatomic:8192KB managed:49224kB > > The existing calculations making it to reserve the 8MB(with pageblock > size of 4MB) i.e. 16% of the zone managed memory. Reserving such high > amount of memory can easily exert memory pressure in the system thus may > lead into unnecessary reclaims till unreserving of high atomic reserves. > > Since high atomic reserves are managed in pageblock size granules, as > MIGRATE_HIGHATOMIC is set for such pageblock, fix the calculations for > high atomic reserves as, minimum is pageblock size , maximum is > approximately 1% of the zone managed pages. > > Signed-off-by: Charan Teja Kalla This patch in isolation seems fine with the caveat that such a small system may find the atomic reserves to be borderline useless. Acked-by: Mel Gorman -- Mel Gorman SUSE Labs