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 52E94C35274 for ; Thu, 21 Dec 2023 11:28:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E27478D0006; Thu, 21 Dec 2023 06:28:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DD6918D0001; Thu, 21 Dec 2023 06:28:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C77BF8D0006; Thu, 21 Dec 2023 06:28:20 -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 B56318D0001 for ; Thu, 21 Dec 2023 06:28:20 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8B8F21A0D2F for ; Thu, 21 Dec 2023 11:28:20 +0000 (UTC) X-FDA: 81590601960.11.9C86110 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf15.hostedemail.com (Postfix) with ESMTP id 3AAD5A0008 for ; Thu, 21 Dec 2023 11:28:17 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Aw+Z00eg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=yhuRwjmw; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Aw+Z00eg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=yhuRwjmw; dmarc=none; spf=pass (imf15.hostedemail.com: domain of jack@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703158098; 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=mNV4sKWjBzrSblGFdnAtW7MuJWksBQI9Sijhka+UDuM=; b=IQXMOZxE4MPN6y2ikYOaCp6rwC95+2mobyPeZAj4Dhv/Qle81Ptn28TCypQnyYgObB/fcS NhIvxBL6wERMEw91AfLSbqLekb3HJDILR8TSAUkyfs8TMhiAV7iLNoLWLwF//e/jeaRnwD K/qfUDByk3hnDba8tf/3xyYSwfhywIw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Aw+Z00eg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=yhuRwjmw; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=Aw+Z00eg; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=yhuRwjmw; dmarc=none; spf=pass (imf15.hostedemail.com: domain of jack@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703158098; a=rsa-sha256; cv=none; b=0JOw3fK77FyPmQzuh7Fe8m/D+yyRAqWdRvsxDU2HLG/fgV7IBfWRp5tFVW+D/nhWm8nGSI 0VlUE8Dsm/nODv1Sf/rXVW7SwzByN4eiRQ7NT76fvN75vSwJGfhTBwri9dmVCGWGhaWtVr Inhb3+dau4LKUGEzSzSDX/q7mSz/eAE= 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-out1.suse.de (Postfix) with ESMTPS id 94F9B21DBA; Thu, 21 Dec 2023 11:28:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1703158096; 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=mNV4sKWjBzrSblGFdnAtW7MuJWksBQI9Sijhka+UDuM=; b=Aw+Z00eg2ud5SAR3cPWmKoamQhO6/HyNIIlQsO/WP6yP1Q+ODJ45joERxjMXVLMqXgR6RD 5AahVpNnmWP/yJivpglPO5LRwG+O8bxyiwaEfr/0XfDrlR1FfR70h0E8ZQVJaV8nRyKX5X 0sMbseKgN2ylVrK56/guYI7D945s+iE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1703158096; 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=mNV4sKWjBzrSblGFdnAtW7MuJWksBQI9Sijhka+UDuM=; b=yhuRwjmwAb8CoCCtD0gdfRAEstxW+G9ztS6GS37ZL9k2CxGxEIZl8r5rzPjrNsczTuRPKw Xg/PokBZyUiT/iAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1703158096; 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=mNV4sKWjBzrSblGFdnAtW7MuJWksBQI9Sijhka+UDuM=; b=Aw+Z00eg2ud5SAR3cPWmKoamQhO6/HyNIIlQsO/WP6yP1Q+ODJ45joERxjMXVLMqXgR6RD 5AahVpNnmWP/yJivpglPO5LRwG+O8bxyiwaEfr/0XfDrlR1FfR70h0E8ZQVJaV8nRyKX5X 0sMbseKgN2ylVrK56/guYI7D945s+iE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1703158096; 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=mNV4sKWjBzrSblGFdnAtW7MuJWksBQI9Sijhka+UDuM=; b=yhuRwjmwAb8CoCCtD0gdfRAEstxW+G9ztS6GS37ZL9k2CxGxEIZl8r5rzPjrNsczTuRPKw Xg/PokBZyUiT/iAQ== 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 8922213725; Thu, 21 Dec 2023 11:28:16 +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 UGN4IVAhhGVMWwAAD6G6ig (envelope-from ); Thu, 21 Dec 2023 11:28:16 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 31D20A07E3; Thu, 21 Dec 2023 12:28:12 +0100 (CET) Date: Thu, 21 Dec 2023 12:28:12 +0100 From: Jan Kara To: Christoph Hellwig Cc: linux-mm@kvack.org, "Matthew Wilcox (Oracle)" , Jan Kara , David Howells , Brian Foster , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 11/17] writeback: Use the folio_batch queue iterator Message-ID: <20231221112812.fkjumae6xexnw2lk@quack3> References: <20231218153553.807799-1-hch@lst.de> <20231218153553.807799-12-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231218153553.807799-12-hch@lst.de> X-Spamd-Bar: / X-Rspamd-Queue-Id: 3AAD5A0008 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: o1fxitobm1x54n91khwfkiw9euq7jer7 X-HE-Tag: 1703158097-162713 X-HE-Meta: U2FsdGVkX1//WQgzsuFAXgfRCZBhnPiOfIqCzW+DjKD+NPQrEMI692sIrQ5blcSeVZRcEoVLs/hwy6AhAQusA8HLe5cmfsdagDqP5XAFeCMWOg6/g4Dxyuw3iWnohSv3PmSSjIODFbirA4u6NW7bIrvYnmCghl7XepS5CdXfY5oVK1mtKoHrnFv1d4E4KOiDRt4eITbQwYWkP9+zuJoDvBNdLtAzqHL9lpcg5dYRZqnq5o/1BkxS2C48wgyWms09aEOQ+4QNWfc0Lr0171dnr9RUdtzinCwlhPh1Kr63JTQl94VMc37y3JEydQahodWdlSSk4OBmDMj2lJrl4YKTI45Los83TLhiMI9uiRUBz4lb1spRvoBYoGNKdhyyx7qn+TE9Kb+9m+mDzzB1bIvI3NvhkwbD3qs87ePesw3ZKvveksYbh5UBipjTKWvw22DnGrJaAzOb7Xx1UvV6j8mrQDKTKdJEKD7R+cwE3UOy1jmH/EqtCnS21yGPJqBLU6dyB92RvBvKdq4cLquk905P2tCXzy9JxgXV+jq8z7bbkFcd5avRXnTJ4FNIbsAyc7VgPKOHn/drxLVexxZtEk2Bq32LYBMMaiLNRLBm0imyZ9ZqfvcF5Q268viNWitcWLdiCXqqwY8sOVJotYH8xcytsp7WhTBWNN++d9O2YqAUaXqRbhbsFykabtnrHXz77463KEGZcOXsI9soY137zlHl5DR+Hsh54smnSl/WBeXbIe2Vhk8EuoTlmsWXxXng4gh78AQL2YKgQm2HQy4NwQPjZ5OYD0kMjZQMMZdXMGk/kQORTgWnzkVc1BFJUllRLtpQbZ4ky/Z/ZsZHN6VcLRqt3H9Qq1i+no9mraO05IhmpsjXllMV1DNM4uhnSQYaO3MN6FoEpRbSMMaW4eREfTOdypZG9mJs28hPHMGJL7hKPjsPVd+WzPIg2oITJsXzEddIzB3WcIJF7zsSHjkCi6Y k1IQljRz vLBoc9Z9jkx5eb1GpVi2QngifdBCgsEtXuEsK1pLdxjv31hm4ExOE3D1Ge+vd2WxnVsNptcGLRtvIB5op3ssMVmASwovjYH4Ns86/LKqAIwbykbdC5FFVJIUYStXck/tSIdp2eeIxV1IuaGDfUyc7q0I6MT4TrofB6sxXbLJ2J6PGeaOa8yU19B3bzrzl8AxtVBiYlmn5HUeHPw0U6bJ8pSZlNOXZb9w14K57+jtAv+cD1j/8Q+RkwqNz7ybdCw0EhovaU3rlSHMgOBFChs+u9W5v6Unrl4nopTG12qtszrsf48o2dPDnoFzggyL7n0laLEaakSJZzX+KXsS0VrCCbmt1V9McPb23NgEuwknUgg7DkP/MHbdJbNHFsuRkyNNqWN/7 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 Mon 18-12-23 16:35:47, Christoph Hellwig wrote: > From: "Matthew Wilcox (Oracle)" > > Instead of keeping our own local iterator variable, use the one just > added to folio_batch. > > Signed-off-by: Matthew Wilcox (Oracle) > Signed-off-by: Christoph Hellwig Nice. Feel free to add: Reviewed-by: Jan Kara Honza > --- > mm/page-writeback.c | 19 +++++++++---------- > 1 file changed, 9 insertions(+), 10 deletions(-) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index c7983ea3040be4..70f42fd9a95b5d 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -2397,13 +2397,19 @@ static pgoff_t wbc_end(struct writeback_control *wbc) > return wbc->range_end >> PAGE_SHIFT; > } > > -static void writeback_get_batch(struct address_space *mapping, > +static struct folio *writeback_get_next(struct address_space *mapping, > struct writeback_control *wbc) > { > + struct folio *folio = folio_batch_next(&wbc->fbatch); > + > + if (folio) > + return folio; > + > folio_batch_release(&wbc->fbatch); > cond_resched(); > filemap_get_folios_tag(mapping, &wbc->index, wbc_end(wbc), > wbc_to_tag(wbc), &wbc->fbatch); > + return folio_batch_next(&wbc->fbatch); > } > > static bool should_writeback_folio(struct address_space *mapping, > @@ -2473,7 +2479,6 @@ int write_cache_pages(struct address_space *mapping, > { > int error; > pgoff_t end; /* Inclusive */ > - int i = 0; > > if (wbc->range_cyclic) { > wbc->index = mapping->writeback_index; /* prev offset */ > @@ -2489,18 +2494,12 @@ int write_cache_pages(struct address_space *mapping, > wbc->err = 0; > > for (;;) { > - struct folio *folio; > + struct folio *folio = writeback_get_next(mapping, wbc); > unsigned long nr; > > - if (i == wbc->fbatch.nr) { > - writeback_get_batch(mapping, wbc); > - i = 0; > - } > - if (wbc->fbatch.nr == 0) > + if (!folio) > break; > > - folio = wbc->fbatch.folios[i++]; > - > folio_lock(folio); > if (!should_writeback_folio(mapping, wbc, folio)) { > folio_unlock(folio); > -- > 2.39.2 > -- Jan Kara SUSE Labs, CR