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 49DE6EDE99F for ; Thu, 14 Sep 2023 10:00:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 743D38D0017; Thu, 14 Sep 2023 06:00:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F4E68D0001; Thu, 14 Sep 2023 06:00:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E3768D0017; Thu, 14 Sep 2023 06:00:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 51C9F8D0001 for ; Thu, 14 Sep 2023 06:00:38 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 2064CA0557 for ; Thu, 14 Sep 2023 10:00:38 +0000 (UTC) X-FDA: 81234758556.04.B6594E8 Received: from outbound-smtp08.blacknight.com (outbound-smtp08.blacknight.com [46.22.139.13]) by imf08.hostedemail.com (Postfix) with ESMTP id D45BA16003C for ; Thu, 14 Sep 2023 10:00:35 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf08.hostedemail.com: domain of mgorman@techsingularity.net designates 46.22.139.13 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694685636; a=rsa-sha256; cv=none; b=uFHrnIiETvdmJv8FCWAtw20KWIAa3EpYlM6TdWDmbL1MRdRkeLzKbGrU1iC2d7QeAjlYVV myoQoQsezem56TMkAft2uC/aPgI2vhz6VS36qn2WuJ0teLbHCvTAvDZt55suxltxSNnWBe 9mnns+K9KbC1YUboaC9u1L5TxNWQs8M= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf08.hostedemail.com: domain of mgorman@techsingularity.net designates 46.22.139.13 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=1694685636; 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=EAUkN1Pw+pq6Ko844kyig9SASvYWwohXQlPNofRWBVs=; b=UbcEQ0xiTwRblWbsYFL4NahG93WDIN564LFn/Yp1G2o4K2qVvnlwSVPZ4+1Vf+roTWLAs/ oQ1nXLbv1c9aVNTYej7GntpiQtgpuyMafqAHOsZdwCqGIKFtUHPeRvQ8k01CHdETTP5mE7 C8odFPdKY2hRG2Y66k3SikUm85Z7wN0= Received: from mail.blacknight.com (pemlinmail04.blacknight.ie [81.17.254.17]) by outbound-smtp08.blacknight.com (Postfix) with ESMTPS id 3A4FA1C3EFE for ; Thu, 14 Sep 2023 11:00:34 +0100 (IST) Received: (qmail 14551 invoked from network); 14 Sep 2023 10:00:34 -0000 Received: from unknown (HELO techsingularity.net) (mgorman@techsingularity.net@[84.203.197.19]) by 81.17.254.9 with ESMTPSA (AES256-SHA encrypted, authenticated); 14 Sep 2023 10:00:34 -0000 Date: Thu, 14 Sep 2023 11:00:29 +0100 From: Mel Gorman To: Johannes Weiner Cc: Andrew Morton , Vlastimil Babka , Miaohe Lin , Kefeng Wang , Zi Yan , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/6] mm: page_alloc: fix up block types when merging compatible blocks Message-ID: <20230914100029.eyb45y45jei2md3h@techsingularity.net> References: <20230911195023.247694-1-hannes@cmpxchg.org> <20230911195023.247694-3-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20230911195023.247694-3-hannes@cmpxchg.org> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: D45BA16003C X-Stat-Signature: q55so318ax6qj6yge6r5azr1te68enof X-Rspam-User: X-HE-Tag: 1694685635-25923 X-HE-Meta: U2FsdGVkX18jNTzlWCoZwngILbS2HZVtlJ75F+gB3OQPN67Ocge/m/SdO0ulH0upjcvd0mekK4jZiRMNiKPPBAWzXjeVTb5UXCc86STKR1fgvDicE/CRvjhgacS5/QUgQi1/Ncdv3hvM0ZzvTMsZX5BLnwpRHwIESNg3CaS2QBUQWf/iYj1rCF1/aHsR/miAvYkwyj1JkLtNMKZoKA7FmOMR5ePE7Yueuh+h0d37UN1yOeZduEiiQgA6OTSVJD+dKUjRiKdx7RbBTXsGCj864f/MiDsSlL42sREXZf49+ZLaSQGfdxWj0gxHYDCdvMLZ4NlVkdBhqA1j8KjCfvoZJwLfb09RL9tgFV2Qy8vXBotIr1iiywJtH8X0w7XoPRITpjJOXCT7q2T6IreU3et9Y8b79xCo902P0Sa2lhxSldirwBgjtW392cxAa3K+JMGyODhqQr3W9f/o59qEnceeOE40aqob3GDZPT8EId40mTSC5zULnQokuO+orlFSFJt3uOFJmcHowQqWCGCLwV4TBxIqMkTD+28gxRgBxQeQeOIUFjn7NoIxidirW2P7ojYiWIIt8in6fNztidajtsfVj5w0MtYvajysSN/8ZrYmWkOVtlNH4QJCFBs3yfj2DrnWRs6G8U8PO/8sh4ariNVRG32jzmG3wADv2qz54zj9NgDwcSTF1jsfg6HbqavoTjKwYr+XzzlT6PUmF3S7FPyBhfzjLCv5N5Ac0k8mo2YRXn8Hbvz+l+LGrvOgckGYkMdMcQ6PTZxirlBDDnfAuw6XD8fhYK2iDEjvJ7wzWPJgf0yCuRDNX9wMOsVZXjnrkyU/R6eHPMrUKzDbVzTH0S3FXHG3jo95o/ArSQzBqXPTMpXpn0m9KT2Wv9DmOrfhiC/X9t7ndJE98izk7WKVUrdfV5qnLrk8UZmKPpQV7a4zE28HdhcsEmxFd6rDWd8yibgO/H9gdHNEmFjqtK7aDvF IPPMK8l3 WexTZrEuXpcDSrQM9EWxCgNMZDD5VDGw4LaLVTeJLWMYfO2AArW3AWMsBCRS4aygnldcsmURWrO0cpUww/sY8nUknZ68g/0qFW1gmhCJHASPg6qq4b1YUz4BzRhU14QoDdmrBclpqEwjfhQ1lEIKz0KdDO3h0p7rITZaevbIUdTwSt9ziESgjr2ZtvvQDQmud2PfagFl9lfUPKyFur7i4Ge7c+E9hNUPQ7cp7S1t3DTZbyXQY7www7vEI7iVZt5SVJy4qo15zCKpifVs/3P/Hq17BU1oeIICRN+rcGvex32hT6VedjkcTUNe+jK+FWgzNzZh5ECfMapmhK1Q= 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: On Mon, Sep 11, 2023 at 03:41:43PM -0400, Johannes Weiner wrote: > The buddy allocator coalesces compatible blocks during freeing, but it > doesn't update the types of the subblocks to match. When an allocation > later breaks the chunk down again, its pieces will be put on freelists > of the wrong type. This encourages incompatible page mixing (ask for > one type, get another), and thus long-term fragmentation. > > Update the subblocks when merging a larger chunk, such that a later > expand() will maintain freelist type hygiene. > > v2: > - remove spurious change_pageblock_range() move (Zi Yan) > > Signed-off-by: Johannes Weiner I'm not 100% convinced on the amount of harm this causes but given that it's a relatively rare condition, I didn't think about the consequences too deeply. The patch certainly has merit so; Acked-by: Mel Gorman -- Mel Gorman SUSE Labs