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 A6C41C369C2 for ; Fri, 25 Apr 2025 17:24:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0603D6B0008; Fri, 25 Apr 2025 13:24:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 010316B000A; Fri, 25 Apr 2025 13:24:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DF2EC6B000C; Fri, 25 Apr 2025 13:24:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BDCF06B0008 for ; Fri, 25 Apr 2025 13:24:27 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 978B0140274 for ; Fri, 25 Apr 2025 17:24:28 +0000 (UTC) X-FDA: 83373240216.06.DDE9542 Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175]) by imf01.hostedemail.com (Postfix) with ESMTP id 9D68940004 for ; Fri, 25 Apr 2025 17:24:26 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ihfi8YZb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of haowenchao22@gmail.com designates 209.85.219.175 as permitted sender) smtp.mailfrom=haowenchao22@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745601866; a=rsa-sha256; cv=none; b=nf19xCCbjAEIlG9omqikcsnzM1/xo4BZWgLLF99xEC56q4s7ngNYEXOcwFgOPuxnpKOLSo eLqPII+lStL3rlH/IFxWY0S+OkHENcaj7TEG7Ec69JyRScvRxzMlljRhwo2oFwYKCE2x5k JC3MMfTyz7ah5jTAHurMqI3ZtL5oprA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ihfi8YZb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of haowenchao22@gmail.com designates 209.85.219.175 as permitted sender) smtp.mailfrom=haowenchao22@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745601866; 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=S5BYJ/kJrx1zv49ZyZm7rE7zuXpOE/64quqeYSHNfbI=; b=zfmI1hEKVTWxNj2z9Q5rQHPJ0/YVPoa5pMeMlgySROkS8HmkYjRwlQVopPvtgLr5UlI/qM fhUE+WcWyGmrFO4+tKDWIZyW50GISBUaiQB1e26wDirdkN10gT8zlrvP917sn3H0rzHxG7 FM2WfZMgsLHMGKA2rJwVw0IEly/Aixw= Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e6dd991a0e6so1952522276.1 for ; Fri, 25 Apr 2025 10:24:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745601865; x=1746206665; 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=S5BYJ/kJrx1zv49ZyZm7rE7zuXpOE/64quqeYSHNfbI=; b=Ihfi8YZbSZuWyGlp0KxTbG1aFC7Pd6MIy69au79/tS53H5eUrSSrIzNZtQbrtNDtur HZYjy8mGtmHbITIvExVBlifgTAN13Nr+6r15VXYkqSckp8lwkdX+nfnp7Gq9R8kByKtj YrUniWb5qZ/KYOdscvkkTZxao2Z+UQa6GXhkT+V5IChFaaIMXS4qamQjLcrc4ZX9u1of ZmtEmzB2GL0w2uxz71ZiRpw3bCr68/jtDzIaA2Mik+IgGtS8Teb4N4EsbCkSm9Mpfr9L e6OXHjZ3PMbJCZwF7U3HgLJL780lxg4d4341f7mFcvjpNZlJwEd77Z6nZoVZfVeW3sns HtYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745601865; x=1746206665; 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=S5BYJ/kJrx1zv49ZyZm7rE7zuXpOE/64quqeYSHNfbI=; b=UxpIHqTTIs+HIdsoibmi4fpmcqyYbaOA9OPz8LqlAaa0inuOJzAgWGK2P+ljvjp8Sl ctR7hi4WQziI5TVoUz5Nb0QNrXcKNnxMxAddLbh/9xxytXlTMGJJ2FiqyYALnuZNgH7h EtA19u6m9HOG/JAfdLhl/fvykqiwdo8bE9Mct0M9PrCPoZtBFxksIgsZYofp4W+AHxB/ yx6PfrsFaXbNrBGUBnS0v+cTNnDuqADQYrXdtvg22uNlm26v+MeAB+RYqFwtQyfvn7CH IXkoPIrtf6XrtL8qjp+XnBerS1GHyZ0PCcvNRkR/o6fdQ5M/BW13KLgZPZKe5zt7w/fM hIsg== X-Forwarded-Encrypted: i=1; AJvYcCUiH0jyJlHFftgZ0oWvVERT2xvHhoxN1OGZcr3sznLqbv0joA4nH0MmQOQxrr1/fyUdtJ1lCLiMFg==@kvack.org X-Gm-Message-State: AOJu0YwifroMgTH1eAnCucTCEX/fGdwFNDQOLufU89ZWP3jhydS7OPq3 0s2r5AZYMuOPRAgSzWdeWtZVSoYC1JUdgTWfZL91/QVyGE8KDNX0eBxPXZvviOiGJ6ONaAgBPEX qNBRHVVhY57lZWk5TBEwwJJ4EAls= X-Gm-Gg: ASbGncssU+Md8jpYSAMoJYxqA070+7QhNO7rgvJ3q6kwvw3BV6F7f5MuxQ9P8kQ55NE TYUIENeyNBpK2wxnqexAmJzQbsd3ofOmIOW2PkVVpKHWpV6fWT0RIUwN7hO4g2RSYlt/11CYc21 o3V4ObB41rybWKrxv+jid/IIM= X-Google-Smtp-Source: AGHT+IG5fygRQA0brhiOJhqrGMYMFj9HAIFW410x2TjdLkdc5FFpzCoknjGQr2wppGoeIDYhbcmEriauA+w7JfJty7A= X-Received: by 2002:a05:6902:12c9:b0:e72:e170:cb78 with SMTP id 3f1490d57ef6-e7322eeada4mr634737276.0.1745601865589; Fri, 25 Apr 2025 10:24:25 -0700 (PDT) MIME-Version: 1.0 References: <20250424153815.4003-1-haowenchao22@gmail.com> <20250424194200.GD840@cmpxchg.org> <20250425153232.GA108388@cmpxchg.org> In-Reply-To: <20250425153232.GA108388@cmpxchg.org> From: Wenchao Hao Date: Sat, 26 Apr 2025 01:24:14 +0800 X-Gm-Features: ATxdqUE0MQUiRrofdlCaEOl4Fq4nuHIeSitZx1vQdMOQFyJB9VaQj41lcByhZpw Message-ID: Subject: Re: [PATCH] mm/compaction: do not break pages whose order is larger than target order To: Johannes Weiner Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 9D68940004 X-Stat-Signature: 1juhsimec8ip1yfkebw9mi9nsqsybg67 X-Rspam-User: X-HE-Tag: 1745601866-916467 X-HE-Meta: U2FsdGVkX19IFPJUcBVX4D5U6nbOi7G7piAl8iBoc+/guqMGaIx6RJ+YtMLR5KIW0tVkLK20VIwqsqtS6Ty80iniI5xZ3I+JHyNCHeSnIZHQHt9Z0hrNMhw9fBd64crHWJVX3n8zh7D1oagDEoml7sD9BuWuBm0yv2lHE2ewslM2KCeFMnNTRZaRWrcBoxuFPAVzprO4l/0bB64KGHTOzdlmCFrYKuth7/vpeh8uasKavuYDZke5fjDIdtt7vwFdl5P3nTlo2XNWFXa9cvLJa3fPwwkHjugHziuViL2Jz6Ck9OAV3tWMe4exnU82Y3hNJzCo/ja7+SyGNSPmD5zmGn0KO51OKQWoPo/XOdAzJNaPVhN9M3wS1Xaa3hHpYbMDu8NdiGaOrPgZWsbJQQ6bERCEfl29XsgH7uchaB8fc3z2cv8kVvjpuL4oo2amKR7JncgXIIsQGEcAKxkUuzBoypEjtuYROfp7okPIJg5MPeya78aqd8YWC6EzzMCx8uoeS7HmUKqjR1w0Pcemw/zto9bgIQS+C2g4aZQgEEiey+yRMKl8CBQ8LutSEjP5WYnhO0P0zvERxKiY9qIz5fjqq+1MueQIwDULSz3IyNuzVh2FVlgSIJYME3ek+2DnbkUFjlGx/OqCRojUfTX3BRetZtmiNQ5gwIW13E0EeZg3WfPFfWTlaloSJkqYiXwtafRpnUavG/iDWv7wqEZcMyLgno1+kOANhoBdtJlrjG9MlKBPCvwnxlWSew+4p/2PXNRCaqjB4TGR6VCb5nI/6VwidQ2KK0uaBt1zvpurHR3eR/mL1OOvbenc3QtKoQ6thoFj60C7RPN7IIoK4AJXZGb6FlKJjjB6m7r+6ySHXpXUSwWpIg8v8U4hfHaBB/nRIFfYyaKsCtEv5qdknP726csF3nA1R45qan7PP8DJcr30FdC9nyb3FcjGknCCbC1yqC1YEiSjf6hOgTRnTQPRgn3 auKBxFu+ E/wFsUOWMKMjWfjviaZpXO1c3A4E+Fg0BbLhfaPPQp+ovnvTb/N/qCU3l6BM7h9IRK/Tyzi2ccEBzYP2ibvK+QDC6KLY+T9EY+HQwny8p8kwTiNGCV9XgOOHcK6mjfZzHBd/d4Td6r6w2mVNj0vgGIVvovV/i38z/XbqT+N0LvdMaRIJ2VbgrrE3rPn2DKQozg+f0GxFpZtyBwjABSH48DQt71eveFDUUjXiKE4X6xe3QT4v/X55Ncqo2RvGi3WhpmOqYE2xU5pBDJgLe/mXkKUU0CnnL9IHBuCqOF2AdcBRdtBvZJr8ywR7A6cSlgB0EIUWbBBr0uefRwAGqsnTTuYATeEG3hdzrVtLI4swsf/hwsSM6N60uOlEFw6KdgWnPSDZlWzUitsYKgh72+8WsRiFWNw== 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 Fri, Apr 25, 2025 at 11:32=E2=80=AFPM Johannes Weiner wrote: > > On Fri, Apr 25, 2025 at 10:28:42PM +0800, Wenchao Hao wrote: > > On Fri, Apr 25, 2025 at 3:42=E2=80=AFAM Johannes Weiner wrote: > > > > > > On Thu, Apr 24, 2025 at 11:38:15PM +0800, Wenchao Hao wrote: > > > > When scanning free pages for memory compaction, if the compaction t= arget > > > > order is explicitly specified, do not split pages in buddy whose or= der > > > > are larger than compaction target order. > > > > > > Have you observed this to be an issue in practice? > > > > > > compact_finished() would have bailed if such a page had existed. > > > > > > > Yes, when proactive memory compaction is enabled, there may be situatio= ns > > where the order of isolated free pages is greater than the compaction > > requested order, and compact_finished() will return continue. > > proactive compaction has an order of -1? The order in struct compact_control is not directly related to proactive compaction. I just added a check here, if the compaction is awakened by wakeup_kcompact= d() and the target order of compaction is set, the free folios larger than the target order will not be split when isolating the free pages. The following scenarios will appear when there are free pages larger than the target order of compaction but compact_finished() will return continue: 1. proactive compaction is enabled, kcompactd is awakened for compaction 2. the defrag_mode you added, __compact_finished() will return continue if the number of pageblocks size folios is smaller than watermark