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 C53D6C19776 for ; Fri, 28 Feb 2025 09:25:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 51409280001; Fri, 28 Feb 2025 04:25:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C2FA6B0085; Fri, 28 Feb 2025 04:25:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 33CA6280001; Fri, 28 Feb 2025 04:25:32 -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 17C376B0083 for ; Fri, 28 Feb 2025 04:25:32 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9C07E14060C for ; Fri, 28 Feb 2025 09:25:31 +0000 (UTC) X-FDA: 83168820462.07.0F0F635 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf07.hostedemail.com (Postfix) with ESMTP id 43C3840004 for ; Fri, 28 Feb 2025 09:25:29 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ytSxtFsB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=R5XThv1m; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ytSxtFsB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=R5XThv1m; dmarc=none; spf=pass (imf07.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 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=1740734729; 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=v3vg/ZVXsH9q9PXkYDg8nzS9VLr/G0V+K4n/dtpGT2s=; b=gbsb536pgbqBsLXzeU8rauAWoMqg+ikQ4a6mr60K3IIKwXnz31AGBkZezOsGFTL9TfTH1Y wly8f4/FanVPnvgfBo+D5Y28jZ5w0qsK/Z9eYvG/FN7eGv4DCr06OD4B3Q4mahpCifTgJw TkQpRZC+LCKb7DLLZZkIg1LzrRUs/SQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740734729; a=rsa-sha256; cv=none; b=zsN8L5mMcMAKmXy2CgHHq5nsadlhKGpjYXgF24bTzv7xeywPMCq+WwA8dsr8VOdZBVDOxB JPgI9fRLhBXsyy67ouZkZfdA1D8e4LTjHKgh5A5xUDtEmcOPYKCDO3GTfhbn+70Hqp+uuc uFKVRn2lAao3MKiXpnUmAfaXusjLwJk= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ytSxtFsB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=R5XThv1m; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ytSxtFsB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=R5XThv1m; dmarc=none; spf=pass (imf07.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz 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-out2.suse.de (Postfix) with ESMTPS id A97381F38F; Fri, 28 Feb 2025 09:25:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1740734727; 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:autocrypt:autocrypt; bh=v3vg/ZVXsH9q9PXkYDg8nzS9VLr/G0V+K4n/dtpGT2s=; b=ytSxtFsBNLANRvRDwkef8tgIx7uT/AZ6ABvyOfmL2magd5flbW3vrYE0q32IP3L2nzuKa1 UAHxaJjxKuGaqpJ7CiYWCFcB+++1CK2uSz10IGLPAIstqmDYyG2elODH+LO4xsv1GiMeSX +W6F6MZTZw532BH3dA7JGCrRRlWKh6A= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1740734727; 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:autocrypt:autocrypt; bh=v3vg/ZVXsH9q9PXkYDg8nzS9VLr/G0V+K4n/dtpGT2s=; b=R5XThv1makNXpPlXd2lghqF2Pu+aqVQ4555gKopRwumyReTioId/WucjZcDAENUUNRrWqy 1jzcAM8sLTA3gvDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1740734727; 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:autocrypt:autocrypt; bh=v3vg/ZVXsH9q9PXkYDg8nzS9VLr/G0V+K4n/dtpGT2s=; b=ytSxtFsBNLANRvRDwkef8tgIx7uT/AZ6ABvyOfmL2magd5flbW3vrYE0q32IP3L2nzuKa1 UAHxaJjxKuGaqpJ7CiYWCFcB+++1CK2uSz10IGLPAIstqmDYyG2elODH+LO4xsv1GiMeSX +W6F6MZTZw532BH3dA7JGCrRRlWKh6A= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1740734727; 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:autocrypt:autocrypt; bh=v3vg/ZVXsH9q9PXkYDg8nzS9VLr/G0V+K4n/dtpGT2s=; b=R5XThv1makNXpPlXd2lghqF2Pu+aqVQ4555gKopRwumyReTioId/WucjZcDAENUUNRrWqy 1jzcAM8sLTA3gvDQ== 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 8B986137AC; Fri, 28 Feb 2025 09:25:27 +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 KQc5IAeBwWc7TQAAD6G6ig (envelope-from ); Fri, 28 Feb 2025 09:25:27 +0000 Message-ID: Date: Fri, 28 Feb 2025 10:25:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/2] mm/page_alloc: Clarify terminology in migratetype fallback code To: Brendan Jackman Cc: Andrew Morton , Mel Gorman , Michal Hocko , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yosry Ahmed References: <20250225-clarify-steal-v3-0-f2550ead0139@google.com> <20250225-clarify-steal-v3-1-f2550ead0139@google.com> Content-Language: en-US From: Vlastimil Babka Autocrypt: addr=vbabka@suse.cz; keydata= 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 EP+ylKVEKb0Q2A== In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 43C3840004 X-Stat-Signature: 7tqk18sfm4aypjcmt61zoup3i8bh5zeh X-HE-Tag: 1740734729-180589 X-HE-Meta: U2FsdGVkX192rhSSlu6VdyoFPWHOIxen7ew7t2XlR5C0W/6c/Ol9oWTIaoSl9GGeDPZrA6USa4E03XhML7A6/RSmRxx+GTJn8pxRQVSFHY2HEmbRhGwwlRdsoasWZY5q8piNDTovRNkxUGZs7kgPwYDl0S5N+ATXpLa4gM+DnO2sNWP4IDFx1mQbkoeRKSPihhREOYQUayMB6w25T8QcCUOpKn+uOhh9Vg3dqcF7WynaGNA8KBICiTySDig5E1LVDeaeultVVzVvBgIpHBHWYFoBGFMSsqUI8Yzg/EK/Af5R5w+HOkAES+mniUQJQB7F4UhMNb8tSAHTgsXPVX64LAqTLCMAH0whiIaA1lVSYdM8gxT+TuUAenalr0xrNxjyICFb89JsIY/V/wxNKfu6G+tGSCY5PgK/eOAxFhGG34AKS1aH3DbZ1/6DKcPm60SHlvnHMzRcHYB9d0yKIQixl2cuVpvLZnulXvnu29QUKYP07Zed+8JHdJU9LPbPcnF/r/CuaCXMiKeg57BGeJN9GPl7U5T2vu5x9OA92sOgWVA3GsMrUhUYGYeEqA7qpLuOgFkPNhQ/TAHUqooyN+4LZuo8HWzPzF8so++ScrU8m+AIc2tkzMHXqjISvH9nGiS236/TpYFOGV2gu4nqyuLKX3xxjzegV6NRuIrRledHdjJCMgBS40o59ZiMTODfKaUAIMy9HR50sD2TZQx0Mu4uemfsay7a08TdvEpgYvXvA8/0IjEvepI9iyROU4y+hRyU4vOwUwUcbpHbxZV0jaiWte7mzdd/uYV7PddK5ROM5K8Xk31i9XJ67GqpU7Qor0UyWckD0CaJq8zwUlD5BDCBdZYAcsa2amOciXxccBg64QEn/Px5zbJ0lv8n3eXEg6CzJZDuHVG2DFHn3z1DgD8NqWoz/Qs63gG7Wi+RG62bvWCCq3izPviZxOAbzdp4qJjPNbST2sNFDpg0I1ES4n7 lbAfQtOh 60eJzDCekzSmbvFBfQ8L0Nkb/jMPqdVx7Sgis8SCcLqUMH2Auw0wOu/jUJmnA47tdmsKjqg+pb3YnvpYaPzH0MPKHAD5JXmBHH+fUYG41OzJxb7Hwpxx7gFNg8fTI2PhNVPoGUQIEN0Fq8b9NLga0W4ibsbvadt22X9e796oWpRiHmazyQvt8BljBtZ+3DN3O6252cNIYqxm6PLp2m9kR615uGlDzyXSt8qLnKEjIotLzNZ/ZsRXb5DmpuKYvRlLHJkelzgUB/vym4Ka0f/rODKCR+a51aaTk8leVw4OaXd0H256n0XMwCZrVEbkESFIrM0ALQof5aalc+xI= 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 2/27/25 11:13, Brendan Jackman wrote: > On Wed, Feb 26, 2025 at 04:08:09PM +0100, Vlastimil Babka wrote: >> On 2/25/25 4:29 PM, Brendan Jackman wrote: >> > /* >> > * When we are falling back to another migratetype during allocation, try to >> > - * steal extra free pages from the same pageblocks to satisfy further >> > - * allocations, instead of polluting multiple pageblocks. >> > + * claim entire blocks to satisfy further allocations, instead of polluting >> > + * multiple pageblocks. >> > * >> > - * If we are stealing a relatively large buddy page, it is likely there will >> > - * be more free pages in the pageblock, so try to steal them all. For >> > - * reclaimable and unmovable allocations, we steal regardless of page size, >> > - * as fragmentation caused by those allocations polluting movable pageblocks >> > - * is worse than movable allocations stealing from unmovable and reclaimable >> > - * pageblocks. >> > + * If we are stealing a relatively large buddy page, it is likely there will be >> > + * more free pages in the pageblock, so try to claim the whole block. For >> > + * reclaimable and unmovable allocations, we claim the whole block regardless of >> >> It's also "try to claim" here as it may still fail due to not enough >> free/compatible pages even for those migratetypes. > > Yeah thanks, I seems worthwhile to be precise about this. > >> Maybe the question >> (out of scope of the patch) if they should get a lower threshold than >> half. Before migratetype hygiene, the "we steal regardless" meant that >> we really would steal all free pages even if not claiming the pageblock. > > I wonder if there's some benefit to deciding when to claim blocks also > based on the count of blocks per type or something? Like, if we're > under memory pressure so all the freelists are empty, but there are > already a bunch of unmovable blocks (that currently have movable pages > in them), there's not much point in claiming a block, instead we'd > prefer to reclaim/migrate those movable pages? Hm we don't currently have counters for that, do we? But that would be the feasible part. "that currently have movable pages in them" would be expensive to determine, and an attempt to reclaim/migrate would be expensive too. At best we could try kicking some asynchronous attempt I think. >> > + * page size, as fragmentation caused by those allocations polluting movable >> > + * pageblocks is worse than movable allocations stealing from unmovable and >> > + * reclaimable pageblocks. >> > */ >> > -static bool can_steal_fallback(unsigned int order, int start_mt) >> > +static bool should_claim_block(unsigned int order, int start_mt) >> >> So technically it's should_try_claim_block() if we want to be precise >> (but longer). > > Yep, that seems worth it (especially given the function is effectively > just an internal block of find_suitable_fallback()). > >> > { >> > /* >> > * Leaving this order check is intended, although there is >> > * relaxed order check in next check. The reason is that >> > - * we can actually steal whole pageblock if this condition met, >> > + * we can actually claim the whole pageblock if this condition met, >> >> try claiming > > But I think in this case we really do claim unconditionally. Ah right, thanks.