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 3E027C4707C for ; Fri, 12 Jan 2024 19:26:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C12E36B0095; Fri, 12 Jan 2024 14:26:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BC1C66B0099; Fri, 12 Jan 2024 14:26:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB0956B009A; Fri, 12 Jan 2024 14:26:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 94A936B0095 for ; Fri, 12 Jan 2024 14:26:00 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 6ADBB1407D5 for ; Fri, 12 Jan 2024 19:26:00 +0000 (UTC) X-FDA: 81671639280.15.839BA7E Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf18.hostedemail.com (Postfix) with ESMTP id 439D71C0004 for ; Fri, 12 Jan 2024 19:25:56 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=j1gqicPf; spf=pass (imf18.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705087557; 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=676Dq4JgswEK9w61FayWx/ynjMSfFxUUttihg+YqxT4=; b=ZGyUlgGRQ62DJ1QjsywYCjHEnSsi77CH7tYsHMecH1Uxrs48ztevr0H7vCY4qOLj77ZqCW bl8aoCd6KmAeg68FiLn1UKLGJyoshL8aRrO+5TB/jjIJZfA/2tQtyIOF+AHq5ly1yCuCo2 8GfCoCIdR94XAOKuH2Rf1uoHS4c0wfU= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=j1gqicPf; spf=pass (imf18.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705087557; a=rsa-sha256; cv=none; b=KpKcQXvh/ToHIou06ieW+yOU+KafzSQ9OLJWjYzAEagbrTXj3NDkK02zjz2+WASHnXiq4b riZ38uAZ89Dv64Dvtl7DGIvHKf832L5kp1gb2D+zkt0cBq02doAdeSvh1Ktk+EDAJ2Ue7+ EMpvE/krDJ/Yhya5ZR/xlD05U5M+/oQ= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id AE9DBCE2421; Fri, 12 Jan 2024 19:25:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C58E6C43390; Fri, 12 Jan 2024 19:25:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1705087551; bh=zj+wrk3JU3+5ZfvCnM81nr4JfGpcqQFEcx5vMnuF40Y=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=j1gqicPfwW+sqefG8tW1Y9VcYwQbES5rX7TWVmY5AlkUyNYYYqX90KBWlliAONQJs VqHG2D46bPlY9nGlAx6JP1QINnzPrJeiI5vUUMwh84Udom1UxjTxG8jPMZA3T2A+2k UonS7vOhpRtg7zrwf9X/LQ5GKX/dIG/KO6OCJ+Co= Date: Fri, 12 Jan 2024 11:25:51 -0800 From: Andrew Morton To: "Bang Li" Cc: , , =?UTF-8?Q?"?= =?UTF-8?Q?=E6=9C=B1=E8=BE=89(=E8=8C=B6=E6=B0=B4)"?= , "Yan Yan(cailing)" Subject: Re: [PATCH] mm/compaction: Reduce unnecessary loops Message-Id: <20240112112551.bbc9d5114fd2c6fb421fed2d@linux-foundation.org> In-Reply-To: <20240112073524.80724-1-libang.li@antgroup.com> References: <20240112073524.80724-1-libang.li@antgroup.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 439D71C0004 X-Rspam-User: X-Stat-Signature: gjgjbhhbjuhigcc17ja6zqj4wj94fyy3 X-Rspamd-Server: rspam01 X-HE-Tag: 1705087556-919910 X-HE-Meta: U2FsdGVkX1+pOQVfnhRAgJwq9OcnXhpu2sGoKu7Zgj4Uvm3IDNLMKdK8ttW37gmMb6QFPUQOx38VLLY4eE+IRDXQJDtchrgyTOxGlPW44N8qY8kyujPPoXrE24L0IWdM1j3M51Vix6pHLtc7mbPf2nz1VPpErtkplbRnHRSmPG7AfvvSjiOqQWTfu1uSCf/5pK6jG6JYhmFhNm1+vZlpkgb0V4g+ccR8gNEqe2MCEC7ISOp9wyaRpPh4Rphq7/o305CTLXQyjkthw5jLTGCZKnooDY5izAkuiEyR1mZky+t2woWRAM115MADleu607sfNiqLsSJX7/uZ+noSLlPL8MLreYvUvaxxbQffpRGafOyQBJgLXpl6UYWkrcMmZAJdIhXiKz99emxcX4f6WgEmlP9BAzc3R2/jZI85JMsg5S4pqR2TYQ6yOg6s8GCm2HqJOPXM4vBunbIoENg7we/LjbKN7yYJv5ZJjTxXKF91vroibGxAUJDhZ5XJnFn+IK5FSRy1ZTuae6/S0M1EYQ13G7Flnq2RvdGPZfJtHAhByq4OxCtk4ZWON5Th2hJCoMPq45zwrfqCZXqOxw+MVpH95zjINPDJwCnwe2rAiNXycsc5rUgQ/UnC6HiMnHAmaC0sa6svo1xoAQfJn5YHglkwTvr8goee2g44xDSUSdk4bzfwaeikBa5lsBYpUKXZvgqrlKieIvC1RDO4kLGRqum6QJVImyrTV9KdlEdxUZ8aAwfyKDY1nilFxiPwqhQy/8zhv/fsyqXyJjNuQTzXEK6nrE5dW0143sbL37x1pqI0mA7kM1fqyEO549/Zar/OeGArOXdfUouVNWT+B6rbexUpIiY2dJHyS/E7Ioh+R7DShGz4dZUtbm/SnWjunoC8pMicYxe2ZBS2aJY5KXMpKyHqOQlpSFsn5tHyg8EFQBHb2+Js47jHNQxYvfkXUk9/bLVmDT03zU2eRXYPNBDNKjB Ph4uVDwn 8+nc4YaKoAgajBBPyzBxIB0zGlrHh3KbGPId26XQ02NdNPBEVS9hK56GdIVjVc7t0myaXzhPk4jBzauGvDbaEWbb0aPLKSj+mXD9a1BpPN+jXbxNUKVr3Hh0YU5xE6TT0UeI5+npKN9r0RaZLcuOM7LjpwuPfnQNRJKBi4TjebXFkoiPYfNfrIh59mXvh4D/IoMyGhI//YiKKw4CP0cwxGlJWnNW4xFU+omrqv9o81QudcB3qroFBKQea7ZL0QpTQIkqwE79y+zqKdFGgOCcF6QAxbA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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, 12 Jan 2024 15:35:24 +0800 "Bang Li" wrote: > Compaction will be triggered when we write 1 to '/proc/sys/vm/ > compact_memory'. During the execution of the process, when we send > SIGKILL to terminate the compaction, the process does not exit > immediately. Instead, it will continue to loop through the remaining > zones and nodes before exiting. > > in my environment: > > [root]# cat /proc/buddyinfo > Node 0, zone DMA 1 1 1 0 2 1 1 0 1 1 3 > Node 0, zone DMA32 1666 1123 804 625 488 356 321 278 209 178 250 > Node 0, zone Normal 58852 83160 49983 9812 2287 1229 19604 24471 10346 5219 12205 > [root]# echo 1 > /sys/kernel/debug/tracing/events/compaction/mm_compaction_end/enable > > before the patch: > > [root]# timeout --signal=SIGKILL 0.002 bash -c 'echo 1 > /proc/sys/vm/compact_memory' > [root]# cat /sys/kernel/debug/tracing/trace_pipe > <...>-26494 [014] ..... 226.468993: mm_compaction_end: zone_start=0x1 migrate_pfn=0xe00 free_pfn=0xe00 zone_end=0x1000, mode=sync status=complete > <...>-26494 [014] ..... 226.469718: mm_compaction_end: zone_start=0x1000 migrate_pfn=0x20a80 free_pfn=0xffe00 zone_end=0x100000, mode=sync status=contended > <...>-26494 [014] ..... 226.469720: mm_compaction_end: zone_start=0x100000 migrate_pfn=0x100000 free_pfn=0x307fe00 zone_end=0x3080000, mode=sync status=contended > > after the patch: > > [root]# timeout --signal=SIGKILL 0.002 bash -c 'echo 1 > /proc/sys/vm/compact_memory' > [root]# cat /sys/kernel/debug/tracing/trace_pipe > <...>-17491 [053] ..... 109.005387: mm_compaction_end: zone_start=0x1 migrate_pfn=0xe00 free_pfn=0xe00 zone_end=0x1000, mode=sync status=complete > <...>-17491 [053] ..... 109.006139: mm_compaction_end: zone_start=0x1000 migrate_pfn=0x22220 free_pfn=0xffe00 zone_end=0x100000, mode=sync status=contended > > Although it exits quickly after receiving the SIGKILL signal, a better > solution is to terminate the loop early after receiving the SIGKILL > signal. > What is the use case here? The requirement? Why is this change valuable to anyone?