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 DE3DCD43370 for ; Thu, 7 Nov 2024 15:32:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 57DC66B0083; Thu, 7 Nov 2024 10:32:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 52E9C6B008A; Thu, 7 Nov 2024 10:32:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3F55D6B008C; Thu, 7 Nov 2024 10:32:23 -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 2424E6B0083 for ; Thu, 7 Nov 2024 10:32:23 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BF665120810 for ; Thu, 7 Nov 2024 15:32:22 +0000 (UTC) X-FDA: 82759688718.13.1D9412A Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf24.hostedemail.com (Postfix) with ESMTP id 78914180020 for ; Thu, 7 Nov 2024 15:32:15 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=27IKjOHy; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=50NzdFIG; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=27IKjOHy; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=50NzdFIG; spf=pass (imf24.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730993373; 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:in-reply-to:references:references:dkim-signature; bh=6+0m2CEqNZ49h/raDsmRZOTYIT7S6RDGtUP6QOTVYgA=; b=0woJbPgoxhkRJO/eSIaDcv30GZKrhYsZyTJpvNoNZ2VISAhUgqyvCfKQTFMHK6rJ098IGL PhmFLBoOFag0KFp9NY9jC+tRdehkq6AQzIrq7/+ZMD/PrTxHPMznnYlFiAlhYBpwe2ugkv iPFOskdiRBuEGTVu4t5TfGB98oKRcwE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=27IKjOHy; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=50NzdFIG; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=27IKjOHy; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=50NzdFIG; spf=pass (imf24.hostedemail.com: domain of jack@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730993373; a=rsa-sha256; cv=none; b=CDqdpy+c7/zxWD1civdnQjx3fqmMB7T0m4iF03/in+1pAJ4UW1XRQqH9idOUP9qw67pOGF 36rSqbXDjJSUzOT91FXh+ggbBrmtgrqXjsyReJaPZvkYmntdYTtpNJwT4/YP1G+Tq8VOeG x+X6uRaDYLOOZM7Ow62epEQSrVLq9zY= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 5D9F51FB4A; Thu, 7 Nov 2024 15:32:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1730993538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6+0m2CEqNZ49h/raDsmRZOTYIT7S6RDGtUP6QOTVYgA=; b=27IKjOHyAJgZJwgGAzjBfAwdmP/TXLs51G7RHvfRCGgOcAsJzknmIjdewGKwaa1mOX/9I3 NN/1XvwdPvWVuBGsUa9UcnL/BNS9QwMFyUYyQsWKtP1gI5FN3Ey9Ku1XvsmweowaoQ34T7 Pg/4ao3Q1O1eg+kZ0OfJibR4EsRKuEM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1730993538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6+0m2CEqNZ49h/raDsmRZOTYIT7S6RDGtUP6QOTVYgA=; b=50NzdFIG4HJXESRzKFBO0uQg92WktmZxY/JARePzBqJjGO0tyxcfvpMN20l1VQQIoZYF3l ENVWu76lKgSS04Ag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1730993538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6+0m2CEqNZ49h/raDsmRZOTYIT7S6RDGtUP6QOTVYgA=; b=27IKjOHyAJgZJwgGAzjBfAwdmP/TXLs51G7RHvfRCGgOcAsJzknmIjdewGKwaa1mOX/9I3 NN/1XvwdPvWVuBGsUa9UcnL/BNS9QwMFyUYyQsWKtP1gI5FN3Ey9Ku1XvsmweowaoQ34T7 Pg/4ao3Q1O1eg+kZ0OfJibR4EsRKuEM= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1730993538; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6+0m2CEqNZ49h/raDsmRZOTYIT7S6RDGtUP6QOTVYgA=; b=50NzdFIG4HJXESRzKFBO0uQg92WktmZxY/JARePzBqJjGO0tyxcfvpMN20l1VQQIoZYF3l ENVWu76lKgSS04Ag== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 51CEF139B3; Thu, 7 Nov 2024 15:32:18 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 31rtE4LdLGfYdAAAD6G6ig (envelope-from ); Thu, 07 Nov 2024 15:32:18 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id EC946A08FE; Thu, 7 Nov 2024 16:32:17 +0100 (CET) Date: Thu, 7 Nov 2024 16:32:17 +0100 From: Jan Kara To: Jim Zhao Cc: willy@infradead.org, akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/page-writeback: Raise wb_thresh to prevent write blocking with strictlimit Message-ID: <20241107153217.j6kwfgihzhj33dia@quack3> References: <20241023100032.62952-1-jimzhao.ai@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241023100032.62952-1-jimzhao.ai@gmail.com> X-Rspamd-Action: no action X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 78914180020 X-Stat-Signature: frriykkzn8at367wqaxjbx5dgrsjchbm X-Rspam-User: X-HE-Tag: 1730993535-98711 X-HE-Meta: U2FsdGVkX1/7lgrB+Ezmhr1uvkeJbEkL+sc/94oZE8meN/TfaVAAeu+6wPMs9rZAagfAX6zViGRFnUbJLhhmW1YwUaX3PjQa6lyF4N423atCixJs3c+eoSyXcpMWSCN+hingOeWVYTzw22bl+a+WKpI519KVjh0K+7pevMoFIHKT35+ZS4vziAwFsqrN8IdAgcbKs+IhuVdVylKD9ILLDbVXpQLNenZvjnrcyfDydrgLJ3WRGtYKnn3vEjcW47l8blO+HPES+SzpFwQvHLs3MRZRRdkYdjNwxlfT4UDGBIAQb2JfcfTbs1IkAB8Il7lBGW5SgW9iPgfTukMmY00RG8JBeKBvCbIemmVxtlqSQ9mugPli5D4orNTVk5YnQ+/lgdhQYdLJY+90x1hI8Jwbc1OXdEsVkPax1oZwdqHkaQgyauhJ7r1RosSnfpXmHWJVnBr/AxSYqnikYhCwTXaRo2oXBk+Zg2V4EFarJWh2EkZ5nuBW8npxADYzyqEC16QzDbI9Uroy23bgtFzrcVf3aKh5ezklSxzAAeDFAEYi40yvn3Od2PbQ+BwuqWzta5ejVMdqcNIkUeN4RniziDQqAtDVwi/51sNGeVVEG8wekrw4YButcoDim6AfDVu52Maan0mGbydnjXb+++i46TCCEIW/Y/d7g9PP0vTV1/AQHFoXw5R3fa896DyN/qbT3EPuvS1yPDAfdNItufmqZC5DdnZqI3yeP3MzsA4smYL0c/ViiVRmuQsjoDrJ5iBb27LXZL5HWgh6KPRzB9+sWfCdqlvFXhfOptVVZC/rBH7YZjc8VJHguVjRwBaJhGgzYseV8UwSWFTYIKqxjG+hlYYxdEcD9GvuR9qT5Lh0gz9zfz48VIAtPg7QPlJWxhT9+DiX0Coa2W9bBTMHuGy9ZnBS+Oy/T3wwgxMjUU1ZfRXs5sevvMVmXH3zPB4e9A2yfTcRT+UwNbz2wd58MhsB9F8 RB7wIP6b r+H1x5HPi/SEhm4Zu4503JegSBMYa+4DDDQfBxJo/uAk3RtgpK/z1mJkpEX8C3xE+TDUQ3qY0PEWDtG5ikhIyXTVChb051BCAQuHk2dcs2TKEiDPMXZQ9pdXtmCZiEIwFMMOQ8/VCHQk9Y6NvSw+fghxFC5izk+ocGH4b0mR1QJzYpV4e5L73ldZGXMFRMnNNzaZ4bVWILflcKpIz5aXsgwIdm5Vl9HL2vodkmrqpffQ9cngU8eHbr1+JVHqzEDo2nrXET4uIn4/nwOeji30BX/SpIPDuwpFa4if8HpXJ7k4TCU188GJA/a7QtT9j96GXRFNWSx6NDwwQYyBXRV03h8cmmnvbOb6S7xQaICwLFTfOA9arGfKT/Xsb7noMNe1pEbx3lq5RGtDMop15UZhxb9CQ3IpScmtBoVhYN4ujEjr+WuJA+mKGT3LbnLOrYogkAYApf0RP17JD5B4Mg+Wq5VsWo3K8r+4aoFdn 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: List-Subscribe: List-Unsubscribe: On Wed 23-10-24 18:00:32, Jim Zhao wrote: > With the strictlimit flag, wb_thresh acts as a hard limit in > balance_dirty_pages() and wb_position_ratio(). When device write > operations are inactive, wb_thresh can drop to 0, causing writes to > be blocked. The issue occasionally occurs in fuse fs, particularly > with network backends, the write thread is blocked frequently during > a period. To address it, this patch raises the minimum wb_thresh to a > controllable level, similar to the non-strictlimit case. > > Signed-off-by: Jim Zhao ... > + /* > + * With strictlimit flag, the wb_thresh is treated as > + * a hard limit in balance_dirty_pages() and wb_position_ratio(). > + * It's possible that wb_thresh is close to zero, not because > + * the device is slow, but because it has been inactive. > + * To prevent occasional writes from being blocked, we raise wb_thresh. > + */ > + if (unlikely(wb->bdi->capabilities & BDI_CAP_STRICTLIMIT)) { > + unsigned long limit = hard_dirty_limit(dom, dtc->thresh); > + u64 wb_scale_thresh = 0; > + > + if (limit > dtc->dirty) > + wb_scale_thresh = (limit - dtc->dirty) / 100; > + wb_thresh = max(wb_thresh, min(wb_scale_thresh, wb_max_thresh / 4)); > + } What you propose makes sense in principle although I'd say this is mostly a userspace setup issue - with strictlimit enabled, you're kind of expected to set min_ratio exactly if you want to avoid these startup issues. But I tend to agree that we can provide a bit of a slack for a bdi without min_ratio configured to ramp up. But I'd rather pick the logic like: /* * If bdi does not have min_ratio configured and it was inactive, * bump its min_ratio to 0.1% to provide it some room to ramp up. */ if (!wb_min_ratio && !numerator) wb_min_ratio = min(BDI_RATIO_SCALE / 10, wb_max_ratio / 2); That would seem like a bit more systematic way than the formula you propose above... Honza -- Jan Kara SUSE Labs, CR