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 A7095E7716E for ; Sat, 7 Dec 2024 06:49:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1326B8D0017; Sat, 7 Dec 2024 01:49:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E2B78D0015; Sat, 7 Dec 2024 01:49:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEB888D0017; Sat, 7 Dec 2024 01:49:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CC5488D0015 for ; Sat, 7 Dec 2024 01:49:31 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 2FF471C53B4 for ; Sat, 7 Dec 2024 06:49:31 +0000 (UTC) X-FDA: 82867236732.28.DB91508 Received: from mail-vs1-f46.google.com (mail-vs1-f46.google.com [209.85.217.46]) by imf08.hostedemail.com (Postfix) with ESMTP id 7ED5816000A for ; Sat, 7 Dec 2024 06:49:17 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=auqWzuBu; spf=pass (imf08.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733554157; 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=+nTfQ78QLlRnib2YldHJNBdc7qUX8VwYhMyb+NYQ1vM=; b=o2J9fPzfWb8TuaH3eC288Up107imzC5rdAURgV3QhChOeCcvYAhBpDX0poCDMLCjegUJzR mSQDr+szD+dvXWUB88zWt1zoXdz1mXhyNsSGCqqW65saaK9SnubueHlhuwmAkSe8iD8Ysf cjyV77kc6QTwhLTZ/qdbYWGzVfWgeVU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733554157; a=rsa-sha256; cv=none; b=RaRK1kLVaa3QBHdZkn7YXoqk2Zbr6rQTyhYqXILR8Z9FT3ySKT7Wtlyob1S09AhzsoqaSK azh1ao4st/BNRwmMljLTulUbNiP1epMg4YhmgrfDbLvAvOMwKKDlMgZcGXn/vczsrPwUQi 70r+wPCOva1i0s9w9A35qVVrduwusA4= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=auqWzuBu; spf=pass (imf08.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.46 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-vs1-f46.google.com with SMTP id ada2fe7eead31-4afdfefc6c1so103376137.0 for ; Fri, 06 Dec 2024 22:49:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1733554168; x=1734158968; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+nTfQ78QLlRnib2YldHJNBdc7qUX8VwYhMyb+NYQ1vM=; b=auqWzuBuVm5CWq6B6yzyQhce+v5qiMIOsfJndboDsET5pMIgkBKrp2SyPtpSwyWoYp p09gR4C6hyHKLSACsry0QKHRECAYnwcjSAArwJr2La7kS35rpBY2rb5nG5AE7o/u1SYb LP+2WDRymdyopk1Ei6SA7RwJdBBSMnsNjP7SKyWRA0yFD9koBq4TiVwaxIEVUQiEzXCD peULUdjmOOWPE4B8kXIO5wmExbeeIdcIkuWCd/kGymtDAEHd/fBLNhIoEkJYXeE2k4Uq GPDG8XdVSf03suCOw16WT/R2xz+v6s6aaJST+KtZ82+49HCXnyMMXkWI/fIsLc3r7mzd KY5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733554168; x=1734158968; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+nTfQ78QLlRnib2YldHJNBdc7qUX8VwYhMyb+NYQ1vM=; b=J9MdIiPl75qWFcIjlThOGlJKVAweNz1JucQVOLwQb/cxI1OXZ15oAqUI8WoOlWrh2h hyBEJ0vuqZhXeFlxIwL+uUnp0CXiARlS51Y4VXEN7MJnK7pE4VeCCVUYl0hG3wNExnFq fwywOuJCqkR1V26AOo3QIy+B3Qcj/tkPhr8sIyqdYxVk7ye+tieCbUUWBDhvWX8D46jp EyR9XcMbJT5+RB/jMXonteyn4kQNzu54Bz9kcLU38JOA/IaXoDtwKJ2JMaaYNeWbcaLE kbbn6afS3H2r7S4LPS7h2GHJv2C7eLuNF8P3A2xU1CGffTSeVwq6TQFQzwc+w8OFsoBa OETg== X-Forwarded-Encrypted: i=1; AJvYcCUD8NZHA1QMG/aWopof9Wv+6bsBROuKYJwXoInLBJITC+XFBmv2XY+DdSmFhBoDbO7O/HOUdeLsUQ==@kvack.org X-Gm-Message-State: AOJu0YzewmFaZkEywPL0IOUi5WbUudrI8bh156KV7ZYKpa3Jhm1A2jDx cZ9k55KZykr5bj2BjZV5SadzwfNVqciDdiL0g3zuSrlC5Zc1hvAP1yCL1+Fb7tBKnUlPE3+Gx6g n5ERRvCqCHPIX2dMG9BoEdEqyod9i/Gqnagsj X-Gm-Gg: ASbGncuLp0pQJedlRmCc5fRWD7T5dXkMoa9xWrmvBMnFZTcudibdkTX8HC4O1/tpmqc xQLUAbivYzEMc2zjtCoBQ/7f9cQrvKm2WzzTDT94ogp96G9dDH7oDPgZB1i/UH3ti X-Google-Smtp-Source: AGHT+IEDYKQWn4RpDYL5VcZE/5orrgWkfRQYbI9Ft0YtuhnijS3UgMYLBHyoJ+B4J4AHgfzzEobWozQd+BCencQQJrU= X-Received: by 2002:a05:6102:4408:b0:4af:c3ed:b926 with SMTP id ada2fe7eead31-4afcab15941mr6903850137.23.1733554168303; Fri, 06 Dec 2024 22:49:28 -0800 (PST) MIME-Version: 1.0 References: <20241206095951.98007-1-david@redhat.com> <20241206095951.98007-2-david@redhat.com> In-Reply-To: <20241206095951.98007-2-david@redhat.com> From: Yu Zhao Date: Fri, 6 Dec 2024 23:48:51 -0700 Message-ID: Subject: Re: [PATCH v1 1/2] mm/page_alloc: conditionally split > pageblock_order pages in free_one_page() and move_freepages_block_isolate() To: David Hildenbrand Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Zi Yan , Vlastimil Babka Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 7ED5816000A X-Stat-Signature: o4yuy8air3zgo6yi513ajrsbe8zx3zzd X-Rspam-User: X-HE-Tag: 1733554157-325395 X-HE-Meta: U2FsdGVkX18igPFisNhygiBTUJcHKMxj9/BChZ6X49J5dRPO6vj/pjrL5LAmUEipz7naHlpP5LXzAAgfWjrlY2JbqilIIh1+bjV9fwZPKvA/I0nQDxiuR8B8l35Ni1ufkt9yUdkQAd2LOYPkNQz8wMunaYyUzP+3hWF28INAKUP5JTUzJQMAYWcBaMuKPmgONAW3brzpqq0+8BLVZuP02UJktQ9QaSwOLuUhlhKhUQCcrGidQBxifrfksSf09FIUhczFp7aZlh3lOuIpm2gz8QUgyXDlsUEEBU0w8pIteNuhttcKSe1LIYr/u/5tT2qJ7vxmlEjhgPlr4ggsRQe7gU+XqSnYJd2cqsbv/RUbFgAoNW454RtZluX2YjPU2jY+D0WzAYfIdMN9ibDbU4wx6J0VNDj9GolpWNJOpMobPofb81M9HrXpAY/lu512b0ds5lDpnIFnvhfcB4MnJqDWeGd/pDIkBZpkcDbuvLlLH8yN71ejVaStHsihtnSXmxQmf5DXG0XEQuu0a7F0tQ1LGC/JADLTxbdBRX6w+X3ns8KJaV4MUMX076oAOkMMEnWZLqxLReLPBKc2YOuoBulyQSBopHiRktBAohbCWthLJUZVwNT0lN0IBSppRCC2hEzLtgMB5jj4GrZ0On6w4vQf6IRBejAe+AkkHIKvnSFHcxttuYjwRUGevr1rjxGeP9+lw4ynn4WbLNvDH1WIfDKCtYjcuYAaweQa2PSlDzNhKMgXwzzo1BIYHXNHTv/jGQnPGxdqg0X1xVeavRwYFplwl0MtB3NPs5dSg/gOFKtFeVIzkCclaFxjWOjXN2XKnaiDwmaRcEWYtWwL4JqVlz0S51Zjg215H8unnHfjKC/3Kpr9g0VHhiiC7+3lZ5SehyPEBJYZHf0hsnShd6mB9MkmVvJSmfORiAcCqX3nCrbvGNyXKp1qehiu2aW/K2VCnj1NTfGXYnaosMVXWg1wVOX heZRw9/G XwoTio0hTTgrMzYncq/JAGz+EcDiBMn2ZLn7I76oMegj2PZjjQOQGc7y5eL7tapJC39mTt2IcifRRnIOfDxcH/H5H1S8TNJxvgODdYpqoKlfsd3oxj0SM39v7hZHV6ZDGnIx6LHttDBGFcgRqc8PRsd6A7zmZUIaDyYK0Ogp0TXtRWOPyqA9fwlIVWqEFhgASjan52Vhe/qvBRUg7Q6v6OzO3xgyopR0urhWQlIDxrhoaqvClJLg7oAeJ1JpJR8owKMt4H+zQlF1vET5jqMSytcLCofFKTwuxfagk X-Bogosity: Ham, tests=bogofilter, spamicity=0.008486, 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 Fri, Dec 6, 2024 at 3:00=E2=80=AFAM David Hildenbrand = wrote: > > Let's special-case for the common scenarios that: > > (a) We are freeing pages <=3D pageblock_order > (b) We are freeing a page <=3D MAX_PAGE_ORDER and all pageblocks match > (especially, no mixture of isolated and non-isolated pageblocks) > > When we encounter a > MAX_PAGE_ORDER page, it can only come from > alloc_contig_range(), and we can process MAX_PAGE_ORDER chunks. > > When we encounter a >pageblock_order <=3D MAX_PAGE_ORDER page, > check whether all pageblocks match, and if so (common case), don't > split them up just for the buddy to merge them back. > > This makes sure that when we free MAX_PAGE_ORDER chunks to the buddy, > for example during system startups, memory onlining, or when isolating > consecutive pageblocks via alloc_contig_range()/memory offlining, that > we don't unnecessarily split up what we'll immediately merge again, > because the migratetypes match. > > Rename split_large_buddy() to __free_one_page_maybe_split(), to make it > clearer what's happening, and handle in it only natural buddy orders, > not the alloc_contig_range(__GFP_COMP) special case: handle that in > free_one_page() only. > > Signed-off-by: David Hildenbrand Acked-by: Yu Zhao