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 232F7C369A6 for ; Thu, 10 Apr 2025 13:36:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2FDFB2800FF; Thu, 10 Apr 2025 09:36:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2857F2800FC; Thu, 10 Apr 2025 09:36:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FF562800FF; Thu, 10 Apr 2025 09:36:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DFF622800FC for ; Thu, 10 Apr 2025 09:36:33 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id ABF34160B08 for ; Thu, 10 Apr 2025 13:36:34 +0000 (UTC) X-FDA: 83318233908.29.BC4C9A7 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf28.hostedemail.com (Postfix) with ESMTP id 57E21C0011 for ; Thu, 10 Apr 2025 13:36:32 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lnFwWNrJ; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=m2543pVU; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lnFwWNrJ; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=m2543pVU; spf=pass (imf28.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=1744292192; 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=6X3ZizTCtne9HGkeErFZvJrpS/23t7UWALSWxnxHkPg=; b=6Gmdl8E7ekd7U9GH1HByqt4GWtj+HNOAttwPSm9Juvem2FCs85C0r3MRgvyExBIo4mIUpC FROcF9s4WM8/BnpEFAR6Xd1nL6pD8LJxpKbLqHBnqNU0xe54lYQEGKT2hBKvIcTt2JprL6 1TMEZCtbv8H0EEh9fIq6Ck4Ya2GIjI4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lnFwWNrJ; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=m2543pVU; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=lnFwWNrJ; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=m2543pVU; spf=pass (imf28.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=1744292192; a=rsa-sha256; cv=none; b=Pk2ih7r3rYF2uURIlBl/guUnNafeEf3FuNaTXa8CBF4r2h6PJEuKMAx4jz5gfv0cxA0BHf rSAp5iRFP+riH8WQLMq3OUw1DWs/hEil7CjQa+He8nno0xyUQKr2XENOgibP+hq9SkOTi1 IPeH1dNCuSbzTpxrStZEYSABbeW/wHk= Received: from imap1.dmz-prg2.suse.org (unknown [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 BB3891F395; Thu, 10 Apr 2025 13:36:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1744292190; 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=6X3ZizTCtne9HGkeErFZvJrpS/23t7UWALSWxnxHkPg=; b=lnFwWNrJbWGFz+wygGgWYJe6+phUedIcMwJZN8NrkUzaOvYvwvOIX4eF8IqbUG2x5a6EdL r15/fdvxBplYKXxhaxA388elj4zmLXci1rG6PcJHrtWvfxuY9y6dNAkT+ziJbHjkDCDjFQ rwyBpSBZS1/a8Ne/6pug3GxqSIsC498= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1744292190; 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=6X3ZizTCtne9HGkeErFZvJrpS/23t7UWALSWxnxHkPg=; b=m2543pVUozaVCe53yZQh25q4eN+MyjMrKJyM2grOmtVY3XaoFEaaOtFXZJPQ/ZOuozIokD flJc+v8dylpROsAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1744292190; 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=6X3ZizTCtne9HGkeErFZvJrpS/23t7UWALSWxnxHkPg=; b=lnFwWNrJbWGFz+wygGgWYJe6+phUedIcMwJZN8NrkUzaOvYvwvOIX4eF8IqbUG2x5a6EdL r15/fdvxBplYKXxhaxA388elj4zmLXci1rG6PcJHrtWvfxuY9y6dNAkT+ziJbHjkDCDjFQ rwyBpSBZS1/a8Ne/6pug3GxqSIsC498= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1744292190; 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=6X3ZizTCtne9HGkeErFZvJrpS/23t7UWALSWxnxHkPg=; b=m2543pVUozaVCe53yZQh25q4eN+MyjMrKJyM2grOmtVY3XaoFEaaOtFXZJPQ/ZOuozIokD flJc+v8dylpROsAQ== 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 974B8132D8; Thu, 10 Apr 2025 13:36:30 +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 U6fmJF7J92fkagAAD6G6ig (envelope-from ); Thu, 10 Apr 2025 13:36:30 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id E23B9A0910; Thu, 10 Apr 2025 15:36:25 +0200 (CEST) Date: Thu, 10 Apr 2025 15:36:25 +0200 From: Jan Kara To: Luis Chamberlain Cc: brauner@kernel.org, jack@suse.cz, tytso@mit.edu, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, riel@surriel.com, dave@stgolabs.net, willy@infradead.org, hannes@cmpxchg.org, oliver.sang@intel.com, david@redhat.com, axboe@kernel.dk, hare@suse.de, david@fromorbit.com, djwong@kernel.org, ritesh.list@gmail.com, linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, gost.dev@samsung.com, p.raghav@samsung.com, da.gomez@samsung.com Subject: Re: [PATCH v2 6/8] fs/ext4: use sleeping version of __find_get_block() Message-ID: References: <20250410014945.2140781-1-mcgrof@kernel.org> <20250410014945.2140781-7-mcgrof@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250410014945.2140781-7-mcgrof@kernel.org> X-Rspamd-Queue-Id: 57E21C0011 X-Stat-Signature: 37y67ip33otad33js4x59n7f536qiukr X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1744292192-755714 X-HE-Meta: U2FsdGVkX1/H8MHsPoBNkTn0O5cOC/hVDJUl6CEsrxdd7/yAWOXw0gbglC1TcXNEUasT1NO7GBXFyhlxjJgRkOV64KB0+dhR5yiagQFh+QvEBqkIoeYC8pusjsFPUIJ1nQrCPsKpkSBjqNkIIhxnn6GkpuahRhj/QeM6WZVOLoXpZhviXfRhZ3kC5o5oQwSu4xqp7RqiwXh01Uy5iGqh72we0RwIk92vCPDztunWEB27SBquqaeCDS5DADh25+jT655qOtq9Tz2yDzhjb/hhOAZ9KDLqp6DOOyc2P4eKtTEPnwXFivWnhOBAIS8K+pbk/XsBw2YJFbBywdTIDTl7+MpXhxCODHjcL7IQ0V0rXXGMXrOyzlkh6ybtH4iFI+3adeOAUEPX/VuBDB0x8n7O+35S4ImqGqCEMisGlMnXCAwSdadHyXcOca8IWq4zh5Gn+U+6I7HNt/ZiwDxJdnVo06ftqVYettOPE2sqbeRT8pzzbGGGfnjarA4QS2fIlyV3dKqm7u6Mcd24MklYn7+wzpvom0zdycSxUHSQ8oYyrmlbDjcGjJgtXQewrHYRWAOz9lrkvCcDME1FtsjSgYsT1ynBTBqWdrOptYvkSkd7mvdLcQ66obSAEJUIJwdww+qhi/k8e9vuPPsttGaPMvk2OEICtzR1QjluGwCAJrMlOKXEcremLipvj7qHyHv/5upS898UFTxiwNqtksASQOFv35v/ngCda3G1H/86SX1KaWRgHaOsIWzpz4jnmll/9DUa/0PnVMaF9pVLPgVuqj1tNDFRcZ2Rb7gTuu+LO7jW5/jRCqiBDyvQbQTKquLeLzCIHWiiTZfdjErCCQVoOuVF7RkKXJzcoAD8wLyP9haCf7BdvnKTfMt+K7A42kcgmcIg/biol5HxEVZ5AzqBLg4RtbVOjR9pKX3Zn2CkcLweM730ocw1yW7m2GBSwPcSKkFhFb0sJSVHiZ8FRgNUPBg QMaCcZ8W hnKuyNIdn/PaQq7pe7nZAJvtW3FW9YGsJC0lpl/0J0GI+bpWFS1EGZy65OSA/rDH3lw0ss970WmHU/q7BZXc2tHUPtYfgYGKlPR6XKqurbn9nTT0ghepjfDZUBrV99jzQeF9g08P9YztnxMQ5sAPlCRwHb4ZUq6PcjOPDRKBi4tdZpJ3M9Lf1aGqDZX4h9i0RZ7ZptKxnFS3wzvNbQH90Q1ZCLQU63zqLg79hUOAgDjjALi0Y0AspcgSh6fdl+ekokq5uKNapoyIHP9JFnZOuljVKp+RMVHbBrWRfNO5sKlsGUQyNf8E59/GZARlvzYFrHTzywUIt5oQwDa5s1f7ybQyw9UcABsY83Fpf/ieF6QNs/rkjSQkmwE1D/QpOePP8MZGHEO5M/eyaKYLgs74x+xoQbzx3yLNFn0Rioak4O4xTWUlbzBO4ryfzlUlQdn+XbvAjFUKo9+chl6R9HD9rmz6g7q8RasxpDbC9TH4VRE6tjF7cAv0uezT/K5GOfeER9qWkgBv0rwPxgkLurKo+miWtppge4j2Yeyo7 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 09-04-25 18:49:43, Luis Chamberlain wrote: > From: Davidlohr Bueso > > Trivially introduce the wrapper and enable ext4_free_blocks() to use > it, which has a cond_resched to begin with. Convert to the new nonatomic > flavor to benefit from potential performance benefits and adapt in the > future vs migration such that semantics are kept. > > Suggested-by: Jan Kara > Signed-off-by: Davidlohr Bueso > Signed-off-by: Luis Chamberlain > --- > fs/ext4/inode.c | 2 ++ > fs/ext4/mballoc.c | 3 ++- > include/linux/buffer_head.h | 6 ++++++ > 3 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 1dc09ed5d403..b7acb5d3adcb 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -860,6 +860,8 @@ struct buffer_head *ext4_getblk(handle_t *handle, struct inode *inode, > return sb_find_get_block(inode->i_sb, map.m_pblk); > > /* > + * Potential TODO: use sb_find_get_block_nonatomic() instead. > + * Yes, please. Since we are behind nowait check, we are fine with blocking... Honza > * Since bh could introduce extra ref count such as referred by > * journal_head etc. Try to avoid using __GFP_MOVABLE here > * as it may fail the migration when journal_head remains. > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index 0d523e9fb3d5..6f4265b21e19 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -6644,7 +6644,8 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode, > for (i = 0; i < count; i++) { > cond_resched(); > if (is_metadata) > - bh = sb_find_get_block(inode->i_sb, block + i); > + bh = sb_find_get_block_nonatomic(inode->i_sb, > + block + i); > ext4_forget(handle, is_metadata, inode, bh, block + i); > } > } > diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h > index 2b5458517def..8db10ca288fc 100644 > --- a/include/linux/buffer_head.h > +++ b/include/linux/buffer_head.h > @@ -399,6 +399,12 @@ sb_find_get_block(struct super_block *sb, sector_t block) > return __find_get_block(sb->s_bdev, block, sb->s_blocksize); > } > > +static inline struct buffer_head * > +sb_find_get_block_nonatomic(struct super_block *sb, sector_t block) > +{ > + return __find_get_block_nonatomic(sb->s_bdev, block, sb->s_blocksize); > +} > + This hunk probably belongs to some introductory patch implementing nonatomic helpers. Honza -- Jan Kara SUSE Labs, CR