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 10FB2C369BD for ; Wed, 16 Apr 2025 14:54:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F09BE28012E; Wed, 16 Apr 2025 10:54:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EB7EA28012D; Wed, 16 Apr 2025 10:54:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D801B28012E; Wed, 16 Apr 2025 10:54:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1D59428012D for ; Wed, 16 Apr 2025 10:54:37 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4544EB050D for ; Wed, 16 Apr 2025 14:54:38 +0000 (UTC) X-FDA: 83340203436.26.0697391 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf13.hostedemail.com (Postfix) with ESMTP id 1381520002 for ; Wed, 16 Apr 2025 14:54:35 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="O/JDeFln"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=+uzIFYRv; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="O/JDeFln"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=+uzIFYRv; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744815276; 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=+aIP5V1iRRBnNMoJiEPZOdI/0V++DQRzOoRFFq+DLbY=; b=traEswC+U9rwOYvroft483d088hTOjJ2ftxGzYJxbLz/7mKrJQdHeglEL/dxOxh08mrN0A mXqRqDZNCUKatnhAbKEXv5t+lsOqCy3Wsm6/u9+2DnWR+87PfZF4KbI0oknZmcxFCkGn0q LbjgyQiVCT/r86XWeBEDMZ6Of1C6X/I= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="O/JDeFln"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=+uzIFYRv; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="O/JDeFln"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=+uzIFYRv; dmarc=none; spf=pass (imf13.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744815276; a=rsa-sha256; cv=none; b=XGInpaCId0fkx7Ah1MGbKvJMp0wfNpbYOQ7EIGDXoUHcGh1uCL3pMROcSOWiU12+S5lBu2 1/kqMddK5RkJi68wWlyjCCXXS4uDCENVbPnJeVDeaVlIjOQ/xu302JOSCU6iQIvRCiRELQ ZxC4wT7uQ2wtcmZFqpnOGLYEoHXrgTY= Received: from imap1.dmz-prg2.suse.org (unknown [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-out1.suse.de (Postfix) with ESMTPS id A1A4121179; Wed, 16 Apr 2025 14:54:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1744815274; h=from:from:reply-to: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; bh=+aIP5V1iRRBnNMoJiEPZOdI/0V++DQRzOoRFFq+DLbY=; b=O/JDeFlnXWIckbVJK8hCA7Vp8CX/6YsITCKBQZFu3xEmiG1521xuG2w+dJFtM/1jma7GUU 8h4NKChItwqxpOEiC6Qt0H7AIPv0PXl++QM6B839EgRRZXYX5CoRnGo1epFYhPWSkEe2hX yYfCGuup3zN+cGTOfa3+yfVZTpdN74Q= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1744815274; h=from:from:reply-to: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; bh=+aIP5V1iRRBnNMoJiEPZOdI/0V++DQRzOoRFFq+DLbY=; b=+uzIFYRv3ae4qviVH0oUmHkHbNefa5kuOVE3Bb+v5u6cJbe9xBkXsSqH9ExMreZphMXphR qzsC0Fkf9dE3/9AA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1744815274; h=from:from:reply-to: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; bh=+aIP5V1iRRBnNMoJiEPZOdI/0V++DQRzOoRFFq+DLbY=; b=O/JDeFlnXWIckbVJK8hCA7Vp8CX/6YsITCKBQZFu3xEmiG1521xuG2w+dJFtM/1jma7GUU 8h4NKChItwqxpOEiC6Qt0H7AIPv0PXl++QM6B839EgRRZXYX5CoRnGo1epFYhPWSkEe2hX yYfCGuup3zN+cGTOfa3+yfVZTpdN74Q= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1744815274; h=from:from:reply-to: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; bh=+aIP5V1iRRBnNMoJiEPZOdI/0V++DQRzOoRFFq+DLbY=; b=+uzIFYRv3ae4qviVH0oUmHkHbNefa5kuOVE3Bb+v5u6cJbe9xBkXsSqH9ExMreZphMXphR qzsC0Fkf9dE3/9AA== 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 94C0013976; Wed, 16 Apr 2025 14:54:34 +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 DicGJKrE/2fhVQAAD6G6ig (envelope-from ); Wed, 16 Apr 2025 14:54:34 +0000 Message-ID: <0277450c-c0f0-4aa2-9271-db45d417d827@suse.cz> Date: Wed, 16 Apr 2025 16:54:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] mm: vmscan: fix kswapd exit condition in defrag_mode Content-Language: en-US To: Johannes Weiner , Andrew Morton Cc: Brendan Jackman , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250416135142.778933-1-hannes@cmpxchg.org> <20250416135142.778933-3-hannes@cmpxchg.org> From: Vlastimil Babka In-Reply-To: <20250416135142.778933-3-hannes@cmpxchg.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: iw74ga5wfm9x5ogjppibmiw8jom31drd X-Rspamd-Queue-Id: 1381520002 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1744815275-789612 X-HE-Meta: U2FsdGVkX1/C6dNEvcEOXNDqzP3+zaAGGDkROiY2TfkOSv+rKlnSdXAQuXzq+SwtRz10aqCAWok2pJ66cjZ9XWDFayLGK1csJBToK4CTz7XMy+dp6KffGMiSlLACr81++PaBdY0/NFXV06DttHVEPyEnzlekc2pShXjXZAUXRxXU6/iVW/g2lL0MYagsuWX1C+5iv3AG81jQnqfmax6gAnBhr6n0Jhc93U37qNOiA0khvQn5rCTgj5OunRNq1PV8Yz/I4T8LA+x7lM6xX8gHTy7OkDzuBIGjHUBZs24vGY7awvUPCgZwSBPM/krIqfLtetKql1HyOUnzN2lbd3DzS5ZXuZGyYWiGB6fsK/5+AcuJOdjgMn7VmnTu/s/dxjxL1kRKJcL0NgdHW2BMIP7YgZEexKjTtJFj428mhoTxgEAg5lAYAsAB3wPtCT5/0B5z8iZVllCE3xyl3BP6AMk4z2D1OpIe4enOJlPBvKiIR8Ge2QkVik1ZN29WWIaH1Oc4UTas/o6EXkY94CqCIpW4b20I5l5xHeumTGaKKA10GIhfC/ZmEZiXsp6KEj7DMqifs5MQI9wGig6nwCuDUQGov5DC6Lc3a+/AdSoCZ6g6zj4RfodlrH7wQNU9KYoCUsMBFE/vwNyzloACTIWi507FqnELkG22SxOzXS8dOm9eRML3qBq9wyVr7WmJg2DLzKytD4tE8KMj547/VJ185g20kVmKxrP/mFlt11Xk7BoA0iWyfOCosfuyM/zin4FqfAvZE0Qz2Lmk7CmUQni0muEfTvbGs+cnf6Q+Sq4P9xEG49c6+aKFv2IAz0yIt/SiDSn6OYHMkdCn1y1TO7n2K3TZiFIjq7Wohi/a26hZSmu8NWDjy16dP7c2nYp4zJmhE6CDYQn46SCkJgvfjmWZEebzrGE1KYSdAyWsKXXoKZX7T1mCg+6Yz5gns6JabibZrxe0evkCXkoW9FpcQ1ZMx1k 2D42pWsV LhOTw93Lj78hJYhxwbD6kMSM59PyS96wSAMEUUk+bwGmoumPVnbcip9TOJkm+k6rghtChqFMDNQiEQvyl2CbAUeWmId9Z3EqTlnJ4WVI2g7ADpDd0WZ5rmpFMwnJrll/KZODF5H0G91adWTq+GxPLiOyI6Hr7wutW87HMg/L0Xsr72jXR+aUFp5zuZKPdru/tdtzBzKemDenaBfw+OyPKAmr7enklHQD8SKLoxkxunto49nb6Jl09bSGb3/sZ0RZsslW+920QTnAndvLFAgfN7vXp2INAbIJGDIkQs4vzhTPDCF/9DPI0rFDCDnuVj2z6flmOMY4Cl6VQy8DQ/sKJuW3C7Js/ansjTh7FWut+IxPtYWo0claGEzu+ZwQm8Y1kIZa5ADbp4hY7KWB18atTS6nVRSKg4JgczTvbiCey7htbiZo38KCEZUhJNg== 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 4/16/25 15:45, Johannes Weiner wrote: > Vlastimil points out an issue with kswapd in defrag_mode not waking up > kcompactd reliably. > > Background: When kswapd is woken for any higher-order request, it > initially checks those high-order watermarks to decide if work is > necesary. However, it cannot (efficiently) meet the contiguity goal of > such a request by itself. So once it has reclaimed a compaction gap, > it adjusts the request down to check for free order-0 pages, then > wakes kcompactd to coalesce them into larger blocks. > > In defrag_mode, the initial watermark check needs to be analogously > against free pageblocks. However, once kswapd drops the high-order to > hand off contiguity work, it also needs to fall back to base page > watermarks - otherwise it'll keep reclaiming until blocks are freed. > > While it appears kcompactd is woken up frequently enough to do most of > the compaction work, kswapd ends up overreclaiming by quite a bit: > > DEFRAGMODE DEFRAGMODE-thispatch > Hugealloc Time mean 79381.34 ( +0.00%) 88126.12 ( +11.02%) > Hugealloc Time stddev 85852.16 ( +0.00%) 135366.75 ( +57.67%) > Kbuild Real time 249.35 ( +0.00%) 226.71 ( -9.04%) > Kbuild User time 1249.16 ( +0.00%) 1249.37 ( +0.02%) > Kbuild System time 171.76 ( +0.00%) 166.93 ( -2.79%) > THP fault alloc 51666.87 ( +0.00%) 52685.60 ( +1.97%) > THP fault fallback 16970.00 ( +0.00%) 15951.87 ( -6.00%) > Direct compact fail 166.53 ( +0.00%) 178.93 ( +7.40%) > Direct compact success 17.13 ( +0.00%) 4.13 ( -71.69%) > Compact daemon scanned migrate 3095413.33 ( +0.00%) 9231239.53 ( +198.22%) > Compact daemon scanned free 2155966.53 ( +0.00%) 7053692.87 ( +227.17%) > Compact direct scanned migrate 265642.47 ( +0.00%) 68388.33 ( -74.26%) > Compact direct scanned free 130252.60 ( +0.00%) 55634.87 ( -57.29%) > Compact total migrate scanned 3361055.80 ( +0.00%) 9299627.87 ( +176.69%) > Compact total free scanned 2286219.13 ( +0.00%) 7109327.73 ( +210.96%) > Alloc stall 1890.80 ( +0.00%) 6297.60 ( +232.94%) > Pages kswapd scanned 9043558.80 ( +0.00%) 5952576.73 ( -34.18%) > Pages kswapd reclaimed 1891708.67 ( +0.00%) 1030645.00 ( -45.52%) > Pages direct scanned 1017090.60 ( +0.00%) 2688047.60 ( +164.29%) > Pages direct reclaimed 92682.60 ( +0.00%) 309770.53 ( +234.22%) > Pages total scanned 10060649.40 ( +0.00%) 8640624.33 ( -14.11%) > Pages total reclaimed 1984391.27 ( +0.00%) 1340415.53 ( -32.45%) > Swap out 884585.73 ( +0.00%) 417781.93 ( -52.77%) > Swap in 287106.27 ( +0.00%) 95589.73 ( -66.71%) > File refaults 551697.60 ( +0.00%) 426474.80 ( -22.70%) > > Reported-by: Vlastimil Babka > Fixes: a211c6550efc ("mm: page_alloc: defrag_mode kswapd/kcompactd watermarks") > Signed-off-by: Johannes Weiner Reviewed-by: Vlastimil Babka Thanks!