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 8D94BC64EC4 for ; Thu, 9 Mar 2023 03:43:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 801196B0071; Wed, 8 Mar 2023 22:43:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B14D6B0072; Wed, 8 Mar 2023 22:43:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6797B280001; Wed, 8 Mar 2023 22:43:11 -0500 (EST) 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 573AE6B0071 for ; Wed, 8 Mar 2023 22:43:11 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 34642160708 for ; Thu, 9 Mar 2023 03:43:11 +0000 (UTC) X-FDA: 80547964182.18.1446C77 Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209]) by imf10.hostedemail.com (Postfix) with ESMTP id 81279C0012 for ; Thu, 9 Mar 2023 03:43:08 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=none; spf=pass (imf10.hostedemail.com: domain of ye.xingchen@zte.com.cn designates 183.62.165.209 as permitted sender) smtp.mailfrom=ye.xingchen@zte.com.cn; dmarc=pass (policy=none) header.from=zte.com.cn ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678333389; a=rsa-sha256; cv=none; b=vY6mbPkB+8biJEKkVeDg9vNeUIIV+tnzByGYdQRAir6vNg7UjsZEVMSOR3XboeODwoklf4 /Y9S7ggCwisqMJAEadS3Q3d0qsUbj7qp9OM25W8FZpbHB4Sck9yu2GBxZBmVhjoVvz4/O1 JyaiT7QeXaXkX1yPG3l3Lrfzo8dMiWM= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=none; spf=pass (imf10.hostedemail.com: domain of ye.xingchen@zte.com.cn designates 183.62.165.209 as permitted sender) smtp.mailfrom=ye.xingchen@zte.com.cn; dmarc=pass (policy=none) header.from=zte.com.cn ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678333389; 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: references; bh=34j5EdZnI/L9pp0/C2GlHYTBLbXYoRJG3ybd/ePCz54=; b=gq9s7Clgwvt/zGw1m5seNGQKW9FcngvqvBI8ne5mFJuJ22E90BW2lSo463HgKpvEiwahZ7 jGFOaiGxc6rnKdY+nneMZNUXyFtPpNyC64ojzG3IsNfDIcqBlcbL49XE0wi8mUWi6xOXmp slblwMLOg98yNfVxIja9ix3XGBITLWA= Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxct.zte.com.cn (FangMail) with ESMTPS id 4PXFPy47qkz501RG; Thu, 9 Mar 2023 11:43:02 +0800 (CST) Received: from xaxapp03.zte.com.cn ([10.88.97.17]) by mse-fl2.zte.com.cn with SMTP id 3293gufG096296; Thu, 9 Mar 2023 11:42:56 +0800 (+08) (envelope-from ye.xingchen@zte.com.cn) Received: from mapi (xaxapp02[null]) by mapi (Zmail) with MAPI id mid31; Thu, 9 Mar 2023 11:42:58 +0800 (CST) Date: Thu, 9 Mar 2023 11:42:58 +0800 (CST) X-Zmail-TransId: 2afa640955c2ffffffffd6cb58bb X-Mailer: Zmail v1.0 Message-ID: <202303091142580726760@zte.com.cn> Mime-Version: 1.0 From: To: Cc: , , , , , Subject: =?UTF-8?B?W1BBVENIIFYzIDIvMl0gbW06IGNvbXBhY3Rpb246IGxpbWl0IGlsbGVnYWwgaW5wdXQgcGFyYW1ldGVycyBvZsKgY29tcGFjdF9tZW1vcnkgaW50ZXJmYWNl?= Content-Type: text/plain; charset="UTF-8" X-MAIL:mse-fl2.zte.com.cn 3293gufG096296 X-Fangmail-Gw-Spam-Type: 0 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 640955C6.000/4PXFPy47qkz501RG X-Rspam-User: X-Rspamd-Queue-Id: 81279C0012 X-Rspamd-Server: rspam01 X-Stat-Signature: jea9ipooefbjzdk9s54mdqwirzju1waf X-HE-Tag: 1678333388-59978 X-HE-Meta: U2FsdGVkX18PkiK7D6bkPS9WGogtGFAHDdGqnkhKMU4ZRp9IE3zmDPNrz6pel7AzoSEhuUE+JMmIEJV0GZhZxIQUMAZsx8BR6mZqZ0tyCOzHYWFD7dumW2EX6pWax6X3wv0C3axbpqJo1UjM1iMB7YzhF7ixkCSWnj9NrHqNLbXSXtz1Y/M3BlK1ekHZ2dasu6weGg/yjNW803qjzhtyMW3CoykivXq87X9gX2NE0oF+3HUearhHW44kPYSdZS5UmfUNg9wDCQHdrQXAIr35EzrYRRe7/y/3PyQJaRcuATkX9PGP0fB6b0hnZ74OC+RShpR7abpPiisHw20EXBIqUvanVlJZqsPRtSoOuQsnl8Up/imcn0FUjUU1/uHW9WHzvA38797d1BVdGmTo7W5Dbrm+XDqBt2Y+pvog8cpqSUPx7EPr2iYiGW+2oCqgs+Si3It6F7iEFDT5ezbRd+qbOoy6nMya7KEE0ILucmIXIe66V82FWjRqFa9hONx7D7ESmGLI8V5QMNznZSqE531PtNCW8FFDXC8hHys3CxCPV026n++jn7tjFxhOTrHCNp6eEz9dXyAxZcY+s71hcKIU3fff26y7uxzrMmC41qPHUlzKM/kUyKKjF9VQR/Bt1jEH5X9cgDIRPdxZdBnIAqPYG1JODzrJbRD1mJLgNmrpcpm60FJYFV5zR1tx3bXaq8EHa2N/7gsB9qcqseiSSPnz1kLDWoUi0sGlSN2nPffjrlQlZpIIezqkxYo9Y5rWIZkKbOJPSLp1jvcCVQRL8O+G7yXe2f7SaZU1VF3+b2ri5nHz8PMxKGV7uoASgXAKFkuUP+/XhhVqlY0ktYwDbh7VgpJghw0q/rCSRZMF94s6M6MMaRYzH0Vu3w928zddxcNrv1QrTo728SUp0SsrdDVMQ+HYvN2k2vO8Q86j5730eJChIyfBNDVN5oR3K29GQield5/FcXnL1yIoCnKtGx5 WIXpmTZh Qhqp0+RLvTnMHXePRLZYMVv6sGcpiH/YheQTljkolY+mn2r0XrTunDEAykf6wmQJym1/Pb/b7qC4dJIuoReifz6HVBHstb6aj4Hz4PZ9howSw0LWHxplukDGr3wvlxEUlqphFFeBidVM14uibdlOA5259fgJoXSyRO2/3fD/2aRt8Z9N0EGBwY8T7OtZa0REbsRsEsr+NalzCEcEnBVWQGcKHJ0h/qXvc6BqDBPQuKBX6OEnhgbd+VM8TtfERD0luivxrHoQbjGUzUp0ZDk2Kn8hxqH3xVPb+xjkP0l6C52bMLpWhFtQSAF3JwF7zdtb+56JKueakp/ViI0/IITI1lR8SQ+fIYvPOWLBCEIDRd2IcML8= 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: From: Minghao Chi Available only when CONFIG_COMPACTION is set. When 1 is written to the file, all zones are compacted such that free memory is available in contiguous blocks where possible. But echo others-parameter > compact_memory, this function will be triggered by writing parameters to the interface. Applied this patch, sh/$ echo 1.1 > /proc/sys/vm/compact_memory sh/$ sh: write error: Invalid argument Link: https://lore.kernel.org/all/ZAJwoXJCzfk1WIBx@bombadil.infradead.org/ Signed-off-by: Minghao Chi Signed-off-by: Ye Xingchen --- mm/compaction.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mm/compaction.c b/mm/compaction.c index acbda28c11f4..39f4c8a6f843 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -2762,15 +2762,18 @@ int compaction_proactiveness_sysctl_handler(struct ctl_table *table, int write, return 0; } +static int sysctl_compact_memory; #ifdef CONFIG_SYSCTL static struct ctl_table vm_compact_memory[] = { { .procname = "compact_memory", - .data = NULL, + .data = &sysctl_compact_memory, .maxlen = sizeof(int), .mode = 0200, .proc_handler = sysctl_compaction_handler, + .extra1 = SYSCTL_ONE, + .extra2 = SYSCTL_ONE, }, { } }; @@ -2782,6 +2785,11 @@ static struct ctl_table vm_compact_memory[] = { int sysctl_compaction_handler(struct ctl_table *table, int write, void *buffer, size_t *length, loff_t *ppos) { + int ret; + + ret = proc_dointvec_minmax(table, write, buffer, length, ppos); + if (ret) + return ret; if (write) compact_nodes(); -- 2.25.1