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 939C9C77B6E for ; Wed, 12 Apr 2023 17:01:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2FBD928000C; Wed, 12 Apr 2023 13:01:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2AAC9280001; Wed, 12 Apr 2023 13:01:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1736C28000C; Wed, 12 Apr 2023 13:01:38 -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 07CF3280001 for ; Wed, 12 Apr 2023 13:01:38 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C4A1E1C4C60 for ; Wed, 12 Apr 2023 17:01:37 +0000 (UTC) X-FDA: 80673355434.15.147FFD1 Received: from out203-205-221-240.mail.qq.com (out203-205-221-240.mail.qq.com [203.205.221.240]) by imf16.hostedemail.com (Postfix) with ESMTP id 5C93918002B for ; Wed, 12 Apr 2023 17:01:32 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=foxmail.com header.s=s201512 header.b=u5ZEnpEx; spf=pass (imf16.hostedemail.com: domain of wenyang.linux@foxmail.com designates 203.205.221.240 as permitted sender) smtp.mailfrom=wenyang.linux@foxmail.com; dmarc=pass (policy=none) header.from=foxmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681318895; 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=6c10UxlH4LkCp7R0rruyDMs0C8VPTPNLjrwdbwagOIo=; b=YgZmk+0Lyt1eTZaixYB9y5B+fcsqotDCJiRiy1Gju7uY/edFzt3TvY8Z11KqxtEmcwpH5Z B7OtBhhsP4Rlqv9xdOYDnFDieGS+iBVz6o1PCkj8TbVuoPT9ib4ISbcbyzztofHltl9jZv vxYM21848VWYlb3H9djbtuIBNhgOu44= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=foxmail.com header.s=s201512 header.b=u5ZEnpEx; spf=pass (imf16.hostedemail.com: domain of wenyang.linux@foxmail.com designates 203.205.221.240 as permitted sender) smtp.mailfrom=wenyang.linux@foxmail.com; dmarc=pass (policy=none) header.from=foxmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681318895; a=rsa-sha256; cv=none; b=b5g6FKBV9I1sdzM/9dG2MjPxCEvedmq8Onz5MgKwYb9AoIz1cSpm/7mjszzwlA5y2pfo8b h4rjl5sTXB4woequFbv7lUeFbZdaCtWAX0QXCv94guv1X6XmIzQqoCPhLqmyKSunJN4Cop Jnikqve9Xuqgg/8Y+F1HKGHp9gsmATE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1681318882; bh=6c10UxlH4LkCp7R0rruyDMs0C8VPTPNLjrwdbwagOIo=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=u5ZEnpExea4S2Yugy3KEFVwXUnrwjeN1W+KTnffttO4UAY6lYx1XvVoPHz8FSx6q6 rCb5yv27xSkKG94RENZQKuZGTgK6KD9YiF5TaXwml1+w9cnHquGzbuumLg+7qRFpyS LenAUQNk68ra64nhlgPpiXX8TT5qyv216zI0SaBU= Received: from [192.168.31.3] ([106.92.97.36]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id DAD82049; Thu, 13 Apr 2023 00:54:45 +0800 X-QQ-mid: xmsmtpt1681318485ty9emqff1 Message-ID: X-QQ-XMAILINFO: MmpliBmRb3iCqCvITsarzp+v+tIeagWROsQ1DJ7NJ9KtkOzodvs4qVMGYGQ696 eYC36mQyTeUUfUGQcK5uAsiox8fa94FlhZ9PNeg83k4lgNlOm6LqCw0FH/aWheQ1X4hhneJFkh/V k77icLT4MMTKvAoOcTBheDoWtXAFoszDw+HwLqWkA/Ti52B/FCCzdrVDNHleYsTx7ckAWDJNSTKZ i4WPuuo/Fbhe+oH5OVhWx4wHHYXzLnxFTl5Ez+dEjCwDSexHEufpHBU2X+WJPbgrdf2J1BuxAWB8 qsaveCJrCeFJ4TuIz+IYEY+cBbrZoeTCjls2zBOWNubEQEvl/iIayrjnOiwnUOf7Rv2v/RhDQZMM 8j7axXGMloDfWGDgI5fV45SzintR/ROyuDGizSl6Ev+F3G4MR+IkKiZpg5cZBCSTCGdGVlrV7jDj /InsDex6URvSEvSNNq42XBwtXvCckEDbhGR4ApVfRQRo0JytxhWaIv1o71RcrCdyoJDKtlGGEhcr edfbpDcMmSgK55AyqU7U7mblqQAqmkWL5xkz2niZ2gIivWc8bWKYmCPrTjxbwpRMZJ8HxcFoyu90 JWy1jtnnO/MBGvOIl25tzsPz5Z4yBbxOFEAGOlNgEXj9tAYTtT55M5VZ85tvtv+QNPfOP0T/UJiR IFR42tYlpZahjOuiZz0vPRQp01ENC6dSxCpuDv0Abhukq5RpgUtE/y/6JlhLg83/1JCQw84C+GRV 0DzXYkZiwsP+BXIS5Njqk+WrbFh2UC5vx6AEkHr/YT0+0EECo6bsgBIYMNN+EqvbmjXEY0Ea+VtF UBE3oV2zdN4wuNOchAUZUh280oq/L9beFFAr3HCL3s+GJKlDLocCAt/EopE/uIgjKFbgXP/oBKNU aijRNTRbr4EwgMuIgN+5kPR5dxGPeR81Aq5ZDPqE+iCPWQddrIZ/rzSWRZR4ZSYdLUVtKrkXOYYs ZfEZUc1oq4w+krN0TZg86grLr13Esl7eaZBHRDx41iQe7iPW1h8Q== X-OQ-MSGID: Date: Thu, 13 Apr 2023 00:54:43 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH] mm: compaction: optimize compact_memory to comply with the admin-guide To: Andrew Morton Cc: Mel Gorman , Oscar Salvador , William Lam , Fu Wei , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230411134801.a4aadef5aba0f51e0d44bb7a@linux-foundation.org> From: Wen Yang In-Reply-To: <20230411134801.a4aadef5aba0f51e0d44bb7a@linux-foundation.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 5C93918002B X-Stat-Signature: ig8oggmopim1y9xisykux99m77ksiouf X-HE-Tag: 1681318892-727064 X-HE-Meta: U2FsdGVkX1+FJqlTV3WaT0oVXXHb56GOsKn/ypcOuk21U0/NbRcKNem4lsGOKJR984H9Xa8rIxC0G9JbeU0sKIus9gVJKxLoV/QdZGstxQvBcwv5jxRPAV7hByl+wV/L5RbnZniyRi/QgdsJHVSB0HM6lhIH+fMGwzUxfSp5mlfnhepM5eDed6N5KxJ0suJjmCM4bjElJ4ZMcMW0nKXveqFIMxxD4SKplIpeMOtssn33SaKSVsYuEBrmi3EsaJ4WAyPS3e5cLVZZ4qIwHO5vo2K2uVS68bUBddggjVLAooxR2cbjILfeJ29V6oL+3p7/8P9s9efzXguyfPbNaEmqJifaOz4HjtkU6E3+QNsM4uWaHL1PIAFnRSj4S8VvdSqnPUL+hnfwoS3s+wVbFpzEc0dy1eAz6lmx08UBqoKo9/KDiK0lbzExUDIHFpvvYLLgQRrO5loTh+eCMzg40MomWjlN7heRK0AjJs71o361qWqq4jVkAK4Z1xFcugftykuY8AsGC4KOVviyKwauIgh8W0nEsxWZFVS7uYorZ3woWdsFc2EBgEZWjbuxhR3DUOwnA4HZvwlGR6CX1CsyDHTRRY1cWulbek6+JsshhqitLFdVaDOlDliof4h/0rTAAuwjHNmMG4G1hiH6Wx7lyJnrshu5BI2z+Z0dd84eK+Gafctc1dggMaS+frQh2Bi8E/AzbhWIeklaYMAh5MK9Lzb/eiRO83sfgChekPYsRJQh6QKrV7JUshCWbTFiOHPvFpaA78bGA9G4yPIDpONOB+DTk+FEnXy/sGuHFNdLaLxZRxEhkpz25SSScQmdi9M8USQhC1PPx1htFCA2YrfWq8J4SJNyrC07t2j0XW4M3pA729Mi4UCi705K7c7SnB9a9O/cgZzDlsumAluB54b2ovgR3K0keZ2J4YY6PNAvXoKuHkS5Nsr/FmPGkB7UxhWQrtEgS5X1GZ4rARKpSO7TRWu CwUtjAHp zw4cs+JWrR2XBSimz9rT3PF0cGukNGHVLYYGK8xwgzJdqbaYKSSdFpPwRyo2FgIehNfZVPDTX0BWX9C4r4HrM3EmNJpaGIHeC36C5GuVvL0gd67DgqR6Ms9s4M4y/xjRwqtDudX7E1cX65sKllolyOEt4YO9seVRyAyHJpDMo1sFtp1i7l9rSZza+64J2pmX4xwkP37uKKTazKCR2Qd627hoI3hY/wtYeL1gZR11Ev9c/Ex5me2Uc2UMud4D8nJqLyxylwpk9LOkRdUapFX+NfBlaGYxuMzWgAo+oQ3HJxJwNtTrCyDf8MA+Djo5UmkybnW3QNHZbGWYxiX1JPzVaYhNUp/5wsY+A04jGV/XKLvGqd8P0rwyadP41FnWScZnPqceJBG9YsT18oA2yN8Cx0Se9Xw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.064823, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: 在 2023/4/12 04:48, Andrew Morton 写道: > On Wed, 12 Apr 2023 02:24:26 +0800 wenyang.linux@foxmail.com wrote: > >> For the /proc/sys/vm/compact_memory file, the admin-guide states: >> When 1 is written to the file, all zones are compacted such that free >> memory is available in contiguous blocks where possible. This can be >> important for example in the allocation of huge pages although processes >> will also directly compact memory as required >> >> But it was not strictly followed, writing any value would cause all >> zones to be compacted. In some critical scenarios, some applications >> operating it, such as echo 0, have caused serious problems. > Really? You mean someone actually did this and didn't observe the > effect during their testing? Thanks for your reply. Since /proc/sys/vm/compact_memory has been well documented for over a decade: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/Documentation/admin-guide/sysctl/vm.rst#n109 it is believed that only writing 1 will trigger trigger all zones to be compacted. Especially for those who write applications, they may only focus on documentation and generally do not read kernel code.  Moreover, such problems are not easily detected through testing on low pressure machines. Writing any meaningful or meaningless values will trigger it and affect the entire server: # echo 1 > /proc/sys/vm/compact_memory # echo 0 > /proc/sys/vm/compact_memory # echo dead > /proc/sys/vm/compact_memory # echo "hello world" > /proc/sys/vm/compact_memory The implementation of this high-risk operation may require following the admin-guides. -- Best wishes, Wen >> It has been slightly optimized to comply with the admin-guide.