From patchwork Wed Feb 26 03:22:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gabriel Krisman Bertazi X-Patchwork-Id: 13991478 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 F2908C021BE for ; Wed, 26 Feb 2025 03:23:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8868E280008; Tue, 25 Feb 2025 22:23:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8356D280007; Tue, 25 Feb 2025 22:23:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6FCEF280008; Tue, 25 Feb 2025 22:23:18 -0500 (EST) 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 53F46280007 for ; Tue, 25 Feb 2025 22:23:18 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 07D801C81AB for ; Wed, 26 Feb 2025 03:23:18 +0000 (UTC) X-FDA: 83160650076.20.C1D8486 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf03.hostedemail.com (Postfix) with ESMTP id D51A020006 for ; Wed, 26 Feb 2025 03:23:15 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=SaXzYM7l; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=6HFPFkjb; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=SaXzYM7l; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=6HFPFkjb; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf03.hostedemail.com: domain of krisman@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=krisman@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740540196; a=rsa-sha256; cv=none; b=dATfb/32YAOKCfNYbTKDO2NrQzEe2o+NS/mkPrih1GCmTmaa+K8o2sUnI7ZLhuGxTC0ueW 3isaV8QZ8VQr3bUdkuZOMFFa44+ZD5ugZS/OxQ6akpkwTb9kD9x/2PpUU+hj5ENyw6vQp/ ds40N+fvM9bEr8ZhmDPnQzUqhe77pJc= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=SaXzYM7l; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=6HFPFkjb; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=SaXzYM7l; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=6HFPFkjb; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf03.hostedemail.com: domain of krisman@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=krisman@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740540196; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=QnU89YP50C+U/gXN0THCrmffdeUiErE1p50BUpDodp4=; b=8jbKnyIEXHoAr997W/ZRKuvLwKh3O2796j/gJusFGLuM06uZTPyyMt7PL8WwqnpuiWkOcy yErGzr/ubTPa5s16aXdbYMJLqvAhaxNG64bWJVw8yKLwyQs4xNOfAGowk3JLsNp8qflIQz 59WbrDXMvqCPHwQTUTWqkLsTjT2Jc9E= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 130141F387; Wed, 26 Feb 2025 03:23:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1740540194; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QnU89YP50C+U/gXN0THCrmffdeUiErE1p50BUpDodp4=; b=SaXzYM7l4CzZnnN6+F8L2FvY395yEitOVfFYe+9+8vxe82HjsBJWtrNUnMyHtTL2KJ4SIc bmtgLThvMVdf7ilxgtBEUakiTuSNxW20Dlno3Ntwa9prg2JwlAy4m1vYm83DiXJ+toqYp9 UMPp71nVmxuKcBmjacqlndBf5LBd4Fk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1740540194; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QnU89YP50C+U/gXN0THCrmffdeUiErE1p50BUpDodp4=; b=6HFPFkjbRsP8Ubf+JI/J+0LX2QuvYlvPjU8ef1+7HUj+Eg5wqmASd2RsfweQ+penWxZ3K2 1JgJ+iBMMEpcYjBA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1740540194; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QnU89YP50C+U/gXN0THCrmffdeUiErE1p50BUpDodp4=; b=SaXzYM7l4CzZnnN6+F8L2FvY395yEitOVfFYe+9+8vxe82HjsBJWtrNUnMyHtTL2KJ4SIc bmtgLThvMVdf7ilxgtBEUakiTuSNxW20Dlno3Ntwa9prg2JwlAy4m1vYm83DiXJ+toqYp9 UMPp71nVmxuKcBmjacqlndBf5LBd4Fk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1740540194; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=QnU89YP50C+U/gXN0THCrmffdeUiErE1p50BUpDodp4=; b=6HFPFkjbRsP8Ubf+JI/J+0LX2QuvYlvPjU8ef1+7HUj+Eg5wqmASd2RsfweQ+penWxZ3K2 1JgJ+iBMMEpcYjBA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CB90013404; Wed, 26 Feb 2025 03:23:13 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 0INfKyGJvmcUcQAAD6G6ig (envelope-from ); Wed, 26 Feb 2025 03:23:13 +0000 From: Gabriel Krisman Bertazi To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, Gabriel Krisman Bertazi , Michal Hocko , Mel Gorman , Vlastimil Babka , Baoquan He Subject: [PATCH] Revert "mm/page_alloc.c: don't show protection in zone's ->lowmem_reserve[] for empty zone" Date: Tue, 25 Feb 2025 22:22:58 -0500 Message-ID: <20250226032258.234099-1-krisman@suse.de> X-Mailer: git-send-email 2.47.0 MIME-Version: 1.0 X-Rspamd-Action: no action X-Rspam-User: X-Rspamd-Queue-Id: D51A020006 X-Rspamd-Server: rspam12 X-Stat-Signature: th16z5ud7ayhbyhnjtmurr9jgq6dr78y X-HE-Tag: 1740540195-393651 X-HE-Meta: U2FsdGVkX18pZSjOzefChnab1LqjW/GR1dWseEFGJOK5t/quQ37tHoyaTeuViWTSgAhLGCeaxT8l92e+C8bfQ/+JlYwIRbNDEKdkBTdiFQP4S/h6z1s67DqYCzl11rj5p47qxM5JM0UHFhd4Bl7GRg3dQS83pvUa2Hgw2pobiBU2cYaJt5wL4RRcnMz3Avu3wjr37bMOOPhwMM0MhcGnBhj544b+6lpHTmfuK3adUAiFQPTvjHjNNASJ5HBzjnMHQ5zKRwYZ3r5PXPS2BsDVTbfuHYzO1lwJJMUDslIT/6CIyaYsNxHYV8ID5eg1xqIBDncmJC+ZfR+gGTI4g+kWX1TriVOOKVT5Ewn7boOhoBDp3zYnDXEAW8tMqmMfPc3BBzlIeHvi030SRlfoaVwbKBg8S/hhqIs3SkCh09Jm9lWZ/F/VKVWZ/mWVywgN7ABaV+fnt/uyTlP/jgkdjqcyjJDceAuGfCQ/ZMBzIit1WdHLI8cwMQ5P9TQXFm01ljhfrdX/HGs/sdlOVy5LXDpk+UG6Ef/IyiJUQNbexNA+UMGqMvNZu41HEYNv+2rCzaYqXVr2AQM23buSIJnJijUFgnCh/vO6kv/osoT0jZ8fpJ9XNeK/Mt2UbC78j/tVT3a2r9SCxPrSkpEqoxOIX6HvedCDNgGvUZFfTBj/66wSLkkEOtkJr/5XaUuKK6fz/DyZS2DKuA8AxQzfHy5UA9a6uzuSkNb8FG9QY2jREMuZTqVkrjatLpQ6Hky+hqNPS0msbjf7ykQS4ueiBphITiP4p19bIzNXOIj1mETC7JAD/kph370R0R5rcaVQX+ds/Tae7xfy41VLVzaOoLx1z6u/i22gvApk7i/3cRSEP2mkNaFF0mvhhgNjSmxNl8qNOHSSzFKu4vHwCuaHWfwBMAjaOPiGAForFX7f2RzcVuraMr+cuyamHseywBv6g5h/VUNJ2m2Dc/7YaZDhDBUdTPU m0jIMgwq ZiPNSVb0oGxJ/t4tZxJ+KS05RiNpQje5+VrJLqFJHFtGbCLpRXXeT4sCz7YgEn+rBF/+dLGGroOftxB/zt9eA+5Ib7WXTe8Bff1L5wPyGJXIjfNjyUFiOUunS55Q8RktBxydlL0mXXf2baAXC8uJIsNWE5CHv4IZFIzOFSO9iPNBCN5M5OEaI0++fvlWFaybNwkjdrAlBNwB9MZd+r0BXsLCNeLy7oM4tSI1iOWYuFGUnF/WamYBLHNzS1h1Xd3FMRKhZFk1P3Qx6bNpelSro6RKBeBQnnwkKFw3x5TfaBwQGWzyxklbkZkIkSvm9K2QP5w1TvByzRJIiAoR9c8DE9I4KjUguTQi08/k8 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: Commit 96a5c186efff ("mm/page_alloc.c: don't show protection in zone's ->lowmem_reserve[] for empty zone") removes the protection of lower zones from allocations targeting memory-less high zones. This had an unintended impact on the pattern of reclaims because it makes the high-zone-targeted allocation more likely to succeed in lower zones, which adds pressure to said zones. I.e, the following corresponding checks in zone_watermark_ok/zone_watermark_fast are less likely to trigger: if (free_pages <= min + z->lowmem_reserve[highest_zoneidx]) return false; As a result, we are observing an increase in reclaim and kswapd scans, due to the increased pressure. This was initially observed as increased latency in filesystem operations when benchmarking with fio on a machine with some memory-less zones, but it has since been associated with increased contention in locks related to memory reclaim. By reverting this patch, the original performance was recovered on that machine. The original commit was introduced as a clarification of the /proc/zoneinfo output, so it doesn't seem there are usecases depending on it, making the revert a simple solution. Cc: Michal Hocko Cc: Mel Gorman Cc: Vlastimil Babka Cc: Baoquan He Fixes: 96a5c186efff ("mm/page_alloc.c: don't show protection in zone's ->lowmem_reserve[] for empty zone") Signed-off-by: Gabriel Krisman Bertazi Acked-by: Michal Hocko Reviewed-by: Vlastimil Babka --- mm/page_alloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 579789600a3c..fe986e6de7a0 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5849,11 +5849,10 @@ static void setup_per_zone_lowmem_reserve(void) for (j = i + 1; j < MAX_NR_ZONES; j++) { struct zone *upper_zone = &pgdat->node_zones[j]; - bool empty = !zone_managed_pages(upper_zone); managed_pages += zone_managed_pages(upper_zone); - if (clear || empty) + if (clear) zone->lowmem_reserve[j] = 0; else zone->lowmem_reserve[j] = managed_pages / ratio;