From patchwork Tue Apr 15 08:35:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jinliang Zheng X-Patchwork-Id: 14051706 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 976FBC369B8 for ; Tue, 15 Apr 2025 08:35:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EBC022800C6; Tue, 15 Apr 2025 04:35:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E40D22800C5; Tue, 15 Apr 2025 04:35:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CBC022800C6; Tue, 15 Apr 2025 04:35:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A518E2800C5 for ; Tue, 15 Apr 2025 04:35:47 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 08947140EA6 for ; Tue, 15 Apr 2025 08:35:49 +0000 (UTC) X-FDA: 83335620018.21.1AE784E Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by imf01.hostedemail.com (Postfix) with ESMTP id 23E9840008 for ; Tue, 15 Apr 2025 08:35:46 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=M+m2DpsN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of alexjlzheng@gmail.com designates 209.85.216.48 as permitted sender) smtp.mailfrom=alexjlzheng@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744706147; a=rsa-sha256; cv=none; b=ZUu/IVatxEX8XR20S5MMKQNmXfLlKfx8WD1xD9dwnTFXitDg+5Q9dCgf8+w86MxCZP8ffD R53NEIgz4L6rjvpfQiLr/7aK4iEVirOtV0kJ3+bWrZffMfSnMcEcy8zveWaA0Ox8P1OADE I/ucCqk4JprlazS/EzBX+Csc2k4prec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744706147; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=b7wgcoQf1HXs+uoKapVgaPIMG7HIkBdUZKlvUkkaF2E=; b=caLwSl6oCsp2M5KNgXb6G/ShQES+Wlm9txPsRNDj/IYprCi3qSymF21hXJriFYmUk/razR GUUN0Gzh4Fea+c4vjCKM/vIVyIm69ZK5acTcvVafZXMJzPGIULUyhE+L6Z5lFmNfrm9FjD tl5KMjBFP3CpIdY2y2PL0KYucbY/uPg= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=M+m2DpsN; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of alexjlzheng@gmail.com designates 209.85.216.48 as permitted sender) smtp.mailfrom=alexjlzheng@gmail.com Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2ff615a114bso5301929a91.0 for ; Tue, 15 Apr 2025 01:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744706146; x=1745310946; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=b7wgcoQf1HXs+uoKapVgaPIMG7HIkBdUZKlvUkkaF2E=; b=M+m2DpsND2+AtJ91jFJLQuKYV/bDJKUSyF1FB9yEugsP7CZRhhd3iafQjys3QMB53T RbIQvAhkAVBiLWSIANYMbTnVNBKjRJQd/Ww3BZlWCtljnlq7OpPwqtsh4ret7V+xg4F9 BgRAUlDbEX1BLa/AbMb0BVnL6Fg6vZ1zWItuFVNHex5UkdRO376+aTq/dc6bQj3uytvz uDRw7c1uHkkejmF8aRBbIr6wJnxwhyrLWmOm4UZV/NHJQY1EJop3VVKPnWOTPVBwRvsy ahBJuaA7kVtjOF4wZ7AWkWHIFNMftUjqSPgE/u8mmpfEiSmHxfjkvvmCddIR2R57buNZ Vqrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744706146; x=1745310946; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=b7wgcoQf1HXs+uoKapVgaPIMG7HIkBdUZKlvUkkaF2E=; b=JiAN6iedtzs53o2DNPzDL4ofv/dRg4RLl5LRnmmvKWFmyItPKwvSjx5Bb0OxkYSkdW ZrQViXyxH5b6HggsCbh3ZVMian/KRPstwWSsCJyrKDj38IPqkXTNN64ToPG58Dzashh8 FxuAC9oXLawBIzAHTdGEeKE8svBoCMM+iQb48M5jYVA2B5NepSFQ9bnW3MG7RVU0/7RB K2Sl/u2qcybB+Dde73kkTeX95TA5+JWJa0283PAk+NpoGuupk0/5dxhTUf1WGZtcia7p qoPNkLt1cFmOv++JIjzaxw4HALjRdSnzGgVaXZHe95LNDB+fxDiHTl6QBmj94foMPmuA Upyg== X-Forwarded-Encrypted: i=1; AJvYcCVSy+OxpGKWKib2ZB403hnPGsA2bupEF7g9r/nYVKD8O8vw/s09mssgSFy+VtXedu0VsQ5hQP0Hpw==@kvack.org X-Gm-Message-State: AOJu0YzfleYVaviHra6te0w0FGdluM+vsmhd+crG/WGVZWkZ4V/fGL+i wrQXfbhnqzkPZdQ5lcR6m8kEP+XhHkkO17H4DUxCBHIHFJYPKDpz X-Gm-Gg: ASbGnctwl7e64SLrYkuTRk3mn1paPP3XEF+sR68cHGUbVpgeBQ9y17qTahnTSigazUQ DaYMzmBrmzGptz7JYb4jGUu/eNMWsnQ9UOmtSOWy7NpMocU/29P6860V2EIoA92xigWPC4CGiGC ejAfBp632LUXMtxy4KZ1rA6OsBOjhR72fKonl494zppgWGnsIFBEmgUemQeeXfHiLwaS8uPwCDc oTrbBD7+LW3DUhf2H/vEQGNdHm5BjjkBH9X3gT6dfS1XtK2KDuHGufHeuIYuWfk7cOGR2V+hbQD q1P/iAL7290/igBo+UgWd58tWZ8aGJNEKhuo23GT96lm78qWbBFzBOkxGwDirw== X-Google-Smtp-Source: AGHT+IEtyDE/Rk+/GYGCjbdmJSJYIY9LwLisO4zjpojtftfoG8bs61Cw1ghB546bQODnjkT/w+EpWA== X-Received: by 2002:a17:90b:58c5:b0:2fc:aaf:74d3 with SMTP id 98e67ed59e1d1-3084f2fbb88mr3594703a91.4.1744706145908; Tue, 15 Apr 2025 01:35:45 -0700 (PDT) Received: from VM-16-38-fedora.. ([43.135.149.86]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-306df06a767sm13973871a91.6.2025.04.15.01.35.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 01:35:45 -0700 (PDT) From: alexjlzheng@gmail.com X-Google-Original-From: alexjlzheng@tencent.com To: willy@infradead.org, akpm@linux-foundation.org, andrea@betterlinux.com, fengguang.wu@intel.com Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, mengensun@tencent.com, Jinliang Zheng , stable@vger.kernel.org Subject: [PATCH] mm: fix ratelimit_pages update error in dirty_ratio_handler() Date: Tue, 15 Apr 2025 16:35:42 +0800 Message-ID: <20250415083542.6946-1-alexjlzheng@tencent.com> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 23E9840008 X-Stat-Signature: nei5nq5wa7quaonf9rngacmw6mh318qy X-Rspam-User: X-HE-Tag: 1744706146-687124 X-HE-Meta: U2FsdGVkX1/rhcmfWOUTxXSkDdGz/fu7YdE3aMpx1nlDY1DDbx3zR3g7lE+x/mO7SRSSSiTFXU+ew0OvgISp9wKPxfPLQWYInQydwVEWt4aetvJlTiyZyyPmBlHuo9ygP3PXMS51vrkwoM9Pzbr/7t9oGlKDeDKAOtbJDt6tUkg8aoH9QqeSlyTqq5TmPWzm40SvRYyCXmtxP0hW4mDGqu8Z4M/8PLzMr8rmyof8GZx/nKDcaz54DD7crG2w43IQOkTM8oHrClesrShI4JllBT2CocvVGDkddj3xBgP/RxL8adUtaefTSX+K72bsi7oG/m0hVCtcmg92uzG7hIKo5ktv0jJotpKjQr9MZUP8DkCQGIDd3CNqi66U6AzzDs9Mn5j6Qc2SqEwbgrC336ZPZzRironsSIdSORY9P1bTKwFAeRfXju79f5w5RGZ3zsOu74Czdpmc4jUK1Re+K3TM1XxxUcokB+fx+7YJ3anGMcY8B+uQNM4Ya1M8ONZL3fN0P0oRsMhC+4/NEM4c9NvWGgX4//TrvR4ziAnlbi7t6aMf806xbVq6yvMxpHvsnmIGNpNkIY+jkrOWXA290ulHyZYBv0JlA29Dzj0/p0oPyaAqjc1hk2fzrCPyHaS1NptyFuZcahwqibRI8EOupv7Xkw8+6J4jY98lCpHTUGKxFAn8VFlqe0+rxgk/XlgNhW9DBSENE/ygTGefJMg9i5ki0O3v+qFesRQlsu5LQSXdrS+5DxhclVtNOYkESxjtrVh+6ulYm0Mi9gS/p9HUsWRQciFaBcULHPp1hA6tkly69FQ2/ExTpgDnURAMnE0GIC27btLey4AFaSSh+vuRb4o2Cl6RGua/8aSn4+8Y5IErJKhMM3yFO0dq+1b9Ma373YXWseqjsszO3fYjQpS9qt0XdfkU1MHwq2ydCdtaV1GHFfBE+rFpzIqhe6YKLacnTMPy2CB8dNFexHIKb7z3Ln9 rjdOkeZb a0S+NTPtojD43A+2KhZ6B3wtVak8pV/z1cX+aLKJt9V7z8i9sUv5LE7T8/t5KNG5zbZB4EAQQ3AgxcJpQINJp9qKnfFh+/jl8kEBficH05zaWXi5/NHsHh3d/8mi1s6F636UJKgEOXKvfDnqt/3/1GKHiNkfRrDOMWq9NausmK6ggL7CBj2ck5O8KbQr7UcNRdJMq X-Bogosity: Ham, tests=bogofilter, spamicity=0.042150, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Jinliang Zheng In the dirty_ratio_handler() function, vm_dirty_bytes must be set to zero before calling writeback_set_ratelimit(), as global_dirty_limits() always prioritizes the value of vm_dirty_bytes. Fixes: 9d823e8f6b1b ("writeback: per task dirty rate limit") Signed-off-by: Jinliang Zheng Cc: stable@vger.kernel.org --- mm/page-writeback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page-writeback.c b/mm/page-writeback.c index c81624bc3969..20e1d76f1eba 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -520,8 +520,8 @@ static int dirty_ratio_handler(const struct ctl_table *table, int write, void *b ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); if (ret == 0 && write && vm_dirty_ratio != old_ratio) { - writeback_set_ratelimit(); vm_dirty_bytes = 0; + writeback_set_ratelimit(); } return ret; }