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 19AAFC4707B for ; Sat, 13 Jan 2024 05:52:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 81E656B0096; Sat, 13 Jan 2024 00:52:34 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7CF1D6B0099; Sat, 13 Jan 2024 00:52:34 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BD576B009A; Sat, 13 Jan 2024 00:52:34 -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 5D73C6B0096 for ; Sat, 13 Jan 2024 00:52:34 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 29AC080783 for ; Sat, 13 Jan 2024 05:52:34 +0000 (UTC) X-FDA: 81673218228.10.06EE690 Received: from out0-204.mail.aliyun.com (out0-204.mail.aliyun.com [140.205.0.204]) by imf06.hostedemail.com (Postfix) with ESMTP id 33693180009 for ; Sat, 13 Jan 2024 05:52:29 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=none; spf=pass (imf06.hostedemail.com: domain of libang.li@antgroup.com designates 140.205.0.204 as permitted sender) smtp.mailfrom=libang.li@antgroup.com; dmarc=pass (policy=quarantine) header.from=antgroup.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705125152; a=rsa-sha256; cv=none; b=rfMgclxyG0BXjFOLdlV+M7Q0FJMaf/QoyQFa7prirKEUNT1X8BKDx7OMHUpYmxE2Z2q1gu MCy6PkGs2CrOljWCO1KL5/pzEA+t06ik7By+4feuOFcEvqu5wF41X+Ueg9h1lBIEqc5MhF E2QtiU1j0Pz290s1nIEjGDqvBHJmL/Y= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=none; spf=pass (imf06.hostedemail.com: domain of libang.li@antgroup.com designates 140.205.0.204 as permitted sender) smtp.mailfrom=libang.li@antgroup.com; dmarc=pass (policy=quarantine) header.from=antgroup.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705125152; 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; bh=LZO2x9yldtzud/x4dS/NjSRPLqqIWVFdBp7jzJpTEJg=; b=Ivq3Hh7bcu6jBmJmWZJBAhKPq8mU+xRNUKn+xXrBgYoxZwK7C5cBSXeNWnM3VsSXRiPqgH lJicsphlXHLRT4IqOZSivIAlBJARZ9jWK6gMmezXuDim0Vpuipyh2X9Eay5kbN2hvbHXzA 85Uoc0Fe1JYzqR/43V2zAC6hcF8eby0= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018047205;MF=libang.li@antgroup.com;NM=1;PH=DS;RN=5;SR=0;TI=SMTPD_---.W59eyl6_1705125139; Received: from 30.39.211.193(mailfrom:libang.li@antgroup.com fp:SMTPD_---.W59eyl6_1705125139) by smtp.aliyun-inc.com; Sat, 13 Jan 2024 13:52:20 +0800 Message-ID: Date: Sat, 13 Jan 2024 13:52:17 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/compaction: Reduce unnecessary loops Content-Language: en-US To: Andrew Morton Cc: , , "=?UTF-8?B?5pyx6L6JKOiMtuawtCk=?=" , "=?UTF-8?B?WWFuIFlhbihjYWlsaW5nKQ==?=" References: <20240112073524.80724-1-libang.li@antgroup.com> <20240112112551.bbc9d5114fd2c6fb421fed2d@linux-foundation.org> From: "Bang Li" In-Reply-To: <20240112112551.bbc9d5114fd2c6fb421fed2d@linux-foundation.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 33693180009 X-Stat-Signature: qc711jfygjzwx7zgpxk7y5xr558aepo9 X-HE-Tag: 1705125149-952301 X-HE-Meta: U2FsdGVkX18PDSl7LrLMXAGxMAe/F3b7YdG+2X9Gxd3aCVqE4iPZfMSU9TY088p3rzRpwKvunlW8CoPrdXm6ndERDfejoIju3HTRjS9rKYeDVF4NuldamthLq6wl7U3F1GjSXqHUnN9sOu4gWb8DGvA+DvNliBv4GRi4l/fZcu+sD6Td0PwDOReA4UvMnuYa/K7o+S0XMp4EqEjoVP2TYrYCc//5Z+Q4OWBPOoQXoSeN5DbDbwKQpsET+sMNApWii1OzzClIPgd6I75d1mn/444AiFACRg9YDJByR22ep0fqTgZBfkhtTfJqbYhpce6ysCi/tI3z48osHGssyooaR9H/5RtUZpKZbC6u0yFRIDxBblO9F7gv07c7BC+tUe66a4j4cpAmAlhk6ctxDTAXPPqnfUNWlN+J420QOFRiGzeAH4S8eWCTMDkKao2luEVdd26rlitcYrySqyyZ5AKLFjWABdjlFgz+fDV2DxuettwN7mQBT57MNIwBcfPpdD+eGNiCRVKTCTcnui+C2WWr5ESnBiQ7u97HLDrVRLzyoAtWTKYhEzlnvb7qNqbErfwqk2BAQR4P3Vub0diU7cqZpcLg2dhvjmCXBCOpzjgt/8hU8DTFPMQCaQwfPSH5lURDBdcIGgnr5cTmzPEeLXQdYx0kAeDC1i0dEQ46Uj/M45YTqXUbCRuycblKirYexcT1JJ4/MTWnSrTTpFr7P8SFUxaHUvpChdnUqBy6xtZCRnsSY+u4W5MdOyHQaZkMoeA8x0xXnq3TbZf7vGv7bRUelO4jOYODyrdPzUnJ50as+UhISEdtxqZi1HWeJY911A4SyXDPBkhN99miLR9TbtU92OQDIrjg1HStd6yPHyw7ecTuzbqGnla4PkR7zuS78SuDjUtr6TWG3yBO0+NF4QV24i/wSVjRb14aT0qzpoqfEEXHdMOT63TBgb+T7laE6RHl+LMx7cJS6ImhrZsHtm3 eDPY/2VV YSPGMY+T18f9HvPv0lFlX53wqs3q03vb0FdnCDevJc+JIGVj7cNPp+ebuqB1ibjppQYlBbo5iN7HNStewCHS8LXPXHqeFTHDOK6CFIN9N96/js1rqe7b3tAhuhGgXWvpfUJ1G9oh55E/FADFkC06ZTioFMY1cW3Ir3lYmL1niJFeDorjTL/mapW1Y8fGKJw58mFmf/Odn2Q4en1dDfIp/KF9C8b9wCp+B5ka3vklfCyqWWWieFFvHwSUaDg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000037, 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 2024/1/13 3:25, Andrew Morton wrote: > 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? Thanks for the quick reply! I'm very sorry that my inappropriate use case confused you. What I want to explain is that when receiving the SIGKILL signal, we can break in advance to reduce unnecessary loops. This is a clean up patch, the purpose is to reduce the execution of unnecessary code. If possible, I will remove the confusing use case in V2. Thanks, Bang