[{"id":3680239,"web_url":"http://patchwork.ozlabs.org/comment/3680239/","msgid":"<aehr2XeOlt8hk0Ry@infradead.org>","list_archive_url":null,"date":"2026-04-22T06:34:01","subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","submitter":{"id":178,"url":"http://patchwork.ozlabs.org/api/people/178/","name":"Christoph Hellwig","email":"hch@infradead.org"},"content":"Looks good:\n\nReviewed-by: Christoph Hellwig <hch@lst.de>","headers":{"Return-Path":"\n <SRS0=MZUa=CV=vger.kernel.org=linux-ext4+bounces-15989-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=bombadil.20210309 header.b=YdA1fg7E;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=150.107.74.76; helo=mail.ozlabs.org;\n envelope-from=srs0=mzua=cv=vger.kernel.org=linux-ext4+bounces-15989-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.234.253.10 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=bombadil.20210309 header.b=YdA1fg7E;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15989-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org\n header.b=\"YdA1fg7E\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=198.137.202.133","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org","smtp.subspace.kernel.org;\n spf=none smtp.mailfrom=bombadil.srs.infradead.org"],"Received":["from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0qPB41LKz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 16:41:02 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g0qP90VYPz4wJk\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 16:41:01 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g0qP90HgYz4wC6; Wed, 22 Apr 2026 16:41:01 +1000 (AEST)","from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g0qP539zlz4wJk\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 16:40:57 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id ACE613067064\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 06:34:04 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id D6089314D18;\n\tWed, 22 Apr 2026 06:34:03 +0000 (UTC)","from bombadil.infradead.org (bombadil.infradead.org\n [198.137.202.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E1A930C60D;\n\tWed, 22 Apr 2026 06:34:01 +0000 (UTC)","from hch by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red\n Hat Linux))\n\tid 1wFR9t-00000009fTJ-35jR;\n\tWed, 22 Apr 2026 06:34:01 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776840061; cv=pass;\n\tb=AcU2P1IyrFUAla5qRTE/MDz5KlXwE1fw+55Lf1hY+GA2cXUDNNteOPn70Izc77ezeEmGiSYGSUbgPAbATHjgqQaHKE4ZCcYMe5+UGTWOg8cqujHsU8/Tm9BRYSE8qT1Me9al391AK2S6o9pYGgvNBzgrmsi607iXkwWrlr79bgXz1MmYO9FArgXRzhEOnzzlGzMcjnc28gWgKncGW5PPnL0ZQKZk3zcwK4Jd4hwSr7rJ5pCnESxLhnMpHOgnl7jT8GAowZhKSDGFDKLGsHxshtReMsT1oHl42yaA7iqOd9fYmQru9/UiVUaeR9FHG4NQYWQ9ZvDTNC7zk5BAnrbyVg==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776839643; cv=none;\n b=QcJheJoRSxuuh4iEaktkQGtWAtRfW0VJEcUdtRIUq0Cngg50SmfTyg4BjxGngRqP3HTH5JqMUgnLvgtbJ4a/6DF90hr3kQB3kdkI8oTgSkyWYuHt+/FCaP3uME7NZbT7IKtaU+5eVRZd3iaGDNPa71QVEny1gcWzQu0EbYtIrNA="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776840061; c=relaxed/relaxed;\n\tbh=M7NmYC/Iylm9myghHwqILim55SAUt9QrM+UZYk0eJlw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=oB3aA8Mf4J+PmQIdnwsUE9mRaxuOWTfp1PF+uTMalsLmKOb6JoPiQ3Q+PFmx/qQSO6Koz7GfktAqKAw1BNC5/02Y+mVr56zkdAHYqnCLqW26w7zSDtoAnQzaeCNbAGXD73yxqUNcFkY1LBs7K+nVrdbQDJi//iqonj99r9FMx+aqQjCZQlg+kcvZdY5mVnDkwNfe/NmVVZ5EzaHS6pnOtu71quFGXtJKxKX2n2ctf6EEn4ZfqPzk7IGp+j33gz02oTptQbPyACgzhBM+gr7sqzeHCknFMMw5owewNWTvLJrHvZ31IbCN77URa0T7EWs8N9sAGeuCwk+exGseMhR1vQ==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776839643; c=relaxed/simple;\n\tbh=M7NmYC/Iylm9myghHwqILim55SAUt9QrM+UZYk0eJlw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=CHJoIAoe+EgBowHVxGTT6u195P2dCc6bIIG03tVFNsyqZEWbU9A/GcQZZi7azEkkfhc0sEiJYf7h/mz9P62sGNwPbu/1GTOJWg+BjunIhk5affmHZf6dNuKJ6NACjIz3Vp1aTvIbdYI6W+jSzaP5QcVH3sBmaDOW5vmbMmPBWGA="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org;\n dkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=bombadil.20210309 header.b=YdA1fg7E; dkim-atps=neutral;\n spf=pass (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15989-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org;\n spf=none smtp.mailfrom=bombadil.srs.infradead.org;\n dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org\n header.b=YdA1fg7E; arc=none smtp.client-ip=198.137.202.133"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version\n\t:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:\n\tContent-Transfer-Encoding:Content-ID:Content-Description;\n\tbh=M7NmYC/Iylm9myghHwqILim55SAUt9QrM+UZYk0eJlw=; b=YdA1fg7E9F57Ys7OPdHPtrzdef\n\t2pdbekkVLYPo9LtmZXZggekEEIu+temlrAFnU0M1OpaxE7dRJ+3rGBQHKTpNEF6vaVIg04h1JM698\n\tJVT5c/G2oMkpNHnBLk6sZ4kVd2QthPgFSa0VpSKrb+qcmw/JNKRlibq9gwGsJYVBH5Mt7/nj93aX8\n\t0ZpISW+vJPwE/qzi8u4Ma1jXirDhSGxQC3Anik0614XUP9qDw5mmuhjJ/+yxLH5mQfYXuQYFQLBKc\n\thGGj+4C5kaINtigsIVQV1K90GzGqaa+H8L/bDXYC2CGMyWwX+rnlAgvydwH8CB3pvw/dVAldii0KV\n\t+lQtzhTQ==;","Date":"Tue, 21 Apr 2026 23:34:01 -0700","From":"Christoph Hellwig <hch@infradead.org>","To":"Fengnan Chang <fengnanchang@gmail.com>","Cc":"brauner@kernel.org, djwong@kernel.org, hch@infradead.org,\n\tlinux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,\n\tlinux-ext4@vger.kernel.org, lidiangang@bytedance.com,\n\tFengnan Chang <changfengnan@bytedance.com>","Subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","Message-ID":"<aehr2XeOlt8hk0Ry@infradead.org>","References":"<20260420061630.62077-1-changfengnan@bytedance.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260420061630.62077-1-changfengnan@bytedance.com>","X-SRS-Rewrite":"SMTP reverse-path rewritten from <hch@infradead.org> by\n bombadil.infradead.org. See http://www.infradead.org/rpr.html","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3680487,"web_url":"http://patchwork.ozlabs.org/comment/3680487/","msgid":"<aeiqJDF1S3nlme72@bfoster>","list_archive_url":null,"date":"2026-04-22T10:59:48","subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","submitter":{"id":13037,"url":"http://patchwork.ozlabs.org/api/people/13037/","name":"Brian Foster","email":"bfoster@redhat.com"},"content":"On Mon, Apr 20, 2026 at 02:16:30PM +0800, Fengnan Chang wrote:\n> When iomap_iter() finishes its iteration (returns <= 0), it is no longer\n> necessary to memset the entire iomap and srcmap structures.\n> \n> In high-IOPS scenarios (like 4k randread NVMe polling with io_uring),\n> where the majority of I/Os complete in a single extent map, this wasted\n> memory write bandwidth, as the caller will just discard the iterator.\n> Use this command to test:\n> taskset -c 30 ./t/io_uring -p1 -d512 -b4096 -s32 -c32 -F1 -B1 -R1 -X1\n> -n1 -P1 /mnt/testfile\n> IOPS improve about 5% on ext4 and XFS.\n> \n> However, we MUST still call iomap_iter_reset_iomap() to release the\n> folio_batch if IOMAP_F_FOLIO_BATCH is set, otherwise we leak page\n> references. Therefore, split the cleanup logic: always release the\n> folio_batch, but skip the memset() when ret <= 0.\n> \n> Signed-off-by: Fengnan Chang <changfengnan@bytedance.com>\n> ---\n\nReviewed-by: Brian Foster <bfoster@redhat.com>\n\n>  fs/iomap/iter.c | 12 ++++++------\n>  1 file changed, 6 insertions(+), 6 deletions(-)\n> \n> diff --git a/fs/iomap/iter.c b/fs/iomap/iter.c\n> index c04796f6e57f..e4a29829591a 100644\n> --- a/fs/iomap/iter.c\n> +++ b/fs/iomap/iter.c\n> @@ -6,17 +6,13 @@\n>  #include <linux/iomap.h>\n>  #include \"trace.h\"\n>  \n> -static inline void iomap_iter_reset_iomap(struct iomap_iter *iter)\n> +static inline void iomap_iter_clean_fbatch(struct iomap_iter *iter)\n>  {\n>  \tif (iter->iomap.flags & IOMAP_F_FOLIO_BATCH) {\n>  \t\tfolio_batch_release(iter->fbatch);\n>  \t\tfolio_batch_reinit(iter->fbatch);\n>  \t\titer->iomap.flags &= ~IOMAP_F_FOLIO_BATCH;\n>  \t}\n> -\n> -\titer->status = 0;\n> -\tmemset(&iter->iomap, 0, sizeof(iter->iomap));\n> -\tmemset(&iter->srcmap, 0, sizeof(iter->srcmap));\n>  }\n>  \n>  /* Advance the current iterator position and decrement the remaining length */\n> @@ -102,10 +98,14 @@ int iomap_iter(struct iomap_iter *iter, const struct iomap_ops *ops)\n>  \t\tret = 0;\n>  \telse\n>  \t\tret = 1;\n> -\tiomap_iter_reset_iomap(iter);\n> +\tiomap_iter_clean_fbatch(iter);\n> +\titer->status = 0;\n>  \tif (ret <= 0)\n>  \t\treturn ret;\n>  \n> +\tmemset(&iter->iomap, 0, sizeof(iter->iomap));\n> +\tmemset(&iter->srcmap, 0, sizeof(iter->srcmap));\n> +\n>  begin:\n>  \tret = ops->iomap_begin(iter->inode, iter->pos, iter->len, iter->flags,\n>  \t\t\t       &iter->iomap, &iter->srcmap);\n> -- \n> 2.39.5 (Apple Git-154)\n> \n>","headers":{"Return-Path":"\n <SRS0=GRnb=CV=vger.kernel.org=linux-ext4+bounces-15993-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=aLdIF0dU;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=grnb=cv=vger.kernel.org=linux-ext4+bounces-15993-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.232.135.74 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com","gandalf.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=aLdIF0dU;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15993-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.b=\"aLdIF0dU\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=170.10.129.124","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=redhat.com"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0x873J63z1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 21:00:07 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g0x871N7cz4w1f\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 21:00:07 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g0x871GwYz4wLc; Wed, 22 Apr 2026 21:00:07 +1000 (AEST)","from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g0x830kbRz4w1f\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 21:00:03 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 0A2F7300615B\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 11:00:00 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id A75D43CE487;\n\tWed, 22 Apr 2026 10:59:59 +0000 (UTC)","from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id E877F3CD8C3\n\tfor <linux-ext4@vger.kernel.org>; Wed, 22 Apr 2026 10:59:57 +0000 (UTC)","from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-501-9KUf4_wFM6uiEpVsiOBTvw-1; Wed,\n 22 Apr 2026 06:59:54 -0400","from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id ED44B19560B3;\n\tWed, 22 Apr 2026 10:59:52 +0000 (UTC)","from bfoster (unknown [10.22.88.73])\n\tby mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with\n ESMTPS id 22825180047F;\n\tWed, 22 Apr 2026 10:59:51 +0000 (UTC)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776855607; cv=pass;\n\tb=t4VX0XyYkfIsmk4/15/c8GZWBSlTlaI0syTDjubFrs/ge8TARX4d6Ue0ZOfqxbLDkKoy466uD4vwhUDKIyOGgoCET0SMqsDNzoUuVMjKk7kvogVrD1azomJtwzEqrcFmoVtiNfGxNi67lYnnvBXVZgTfKhioEJAlKEo9+D+yyoEW+I1HlzClEMBP5g1TWkAKZrecyVlnRSMNS2cOljdqXfI/k25qHTV6qfSXpvtBTe2DyjfUSnMO1Wz4wHnAKpP94AaPg33rE95esLiHrEHx0QWr8j2eiB0VPqFjXJZhAhMBTDbCJWb5XMBFCPZCTRA/oP+UkgX3z/VrvRdsG5vz7A==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776855599; cv=none;\n b=jzj3QSBUV+cGpU33aRnUGlsM12IsImOnFYpG0rJ1m2HuEhgoGuWHf+xlGAFL9cMew0nGe4kFOCSgJFOzanoiPz70fhx+5WlkyHnu9ZFmzSnxjhmf1rmedxFFjEAcmrED53KiyWxcC2pR7lYQeLC+zinhth+lvMTCuxQTP+k8yKM="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776855607; c=relaxed/relaxed;\n\tbh=izjl8drGARtnJbDgV470Smw6Us4DYi0R0XZK5bmOh0M=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=lBUTenQRRtnDo7MzlaEb9171JaX2ZvwrSXnb7YIloui0EJD/ef2tfvccjj5Ivhe1Cejn0DPHVfh/LOj0h0g+g67KVuPsOgWKj0vWGYAj+xa1SxAgkTHw0L3WRvo48uaYtGx2G/RUlo32vv7n73QdjTZR1G0N5YD9eDxS2mh8EgOiQ+SXh6vVz2HduzToEHhrQhW48ra3k5EtGUTpo0skNoEpetUKLdXUruFRS+cI4zxNDA7BjO2d+01v5nY2eq8iR4MHbpocYtZqzPptQeJE16cEuu9IVr9XaCzfU3HjgidBlIysYsOzifgyaMsBy13Fb+Lqgob6HLwzPNhq/iv0dw==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776855599; c=relaxed/simple;\n\tbh=n48wvyxb3Y6EIjjJloYuiiV91f0Unk3er5xo3n6m/Lw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=Zi8UtUc7Xn+mkcqKiJhblMz+f5m01iM2Qdz9VKBgJ/InVZi3bonSWS8XhS9TIxguFuXfMeFukvYc5cE8GZeYabsl0UOYGT0v+FtTBKAPYcBmxamcXM4YI8o5Jzsc7oXkl1aOT6rDeu7u9F73ctPoYnTnntkKIv4gDpCXjriVbeA="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com;\n dkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=aLdIF0dU; dkim-atps=neutral;\n spf=pass (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15993-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com;\n spf=pass smtp.mailfrom=redhat.com;\n dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.b=aLdIF0dU; arc=none smtp.client-ip=170.10.129.124"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1776855597;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\t to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\t in-reply-to:in-reply-to:references:references;\n\tbh=izjl8drGARtnJbDgV470Smw6Us4DYi0R0XZK5bmOh0M=;\n\tb=aLdIF0dU1jYYNI0aSt/22W69gVoq+Dplvx0NPn5jih0h15C4WWzZfeGu1wyUcUwJ9qTktP\n\tTIMPLdWcpCval/752Y3uqc4Jmj3c5H75lX8H5Q8GDcwjUpwzd4GP6a3d3pHYmfF+SoPb7j\n\t2VZzTgJd39909TNc37yoZiotuOz1QlU=","X-MC-Unique":"9KUf4_wFM6uiEpVsiOBTvw-1","X-Mimecast-MFC-AGG-ID":"9KUf4_wFM6uiEpVsiOBTvw_1776855593","Date":"Wed, 22 Apr 2026 06:59:48 -0400","From":"Brian Foster <bfoster@redhat.com>","To":"Fengnan Chang <fengnanchang@gmail.com>","Cc":"brauner@kernel.org, djwong@kernel.org, hch@infradead.org,\n\tlinux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,\n\tlinux-ext4@vger.kernel.org, lidiangang@bytedance.com,\n\tFengnan Chang <changfengnan@bytedance.com>","Subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","Message-ID":"<aeiqJDF1S3nlme72@bfoster>","References":"<20260420061630.62077-1-changfengnan@bytedance.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260420061630.62077-1-changfengnan@bytedance.com>","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.93","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3680621,"web_url":"http://patchwork.ozlabs.org/comment/3680621/","msgid":"<20260422-pflaster-verifizieren-382dd21880d0@brauner>","list_archive_url":null,"date":"2026-04-22T12:56:23","subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","submitter":{"id":82326,"url":"http://patchwork.ozlabs.org/api/people/82326/","name":"Christian Brauner","email":"brauner@kernel.org"},"content":"On Mon, 20 Apr 2026 14:16:30 +0800, Fengnan Chang wrote:\n> When iomap_iter() finishes its iteration (returns <= 0), it is no longer\n> necessary to memset the entire iomap and srcmap structures.\n> \n> In high-IOPS scenarios (like 4k randread NVMe polling with io_uring),\n> where the majority of I/Os complete in a single extent map, this wasted\n> memory write bandwidth, as the caller will just discard the iterator.\n> Use this command to test:\n> taskset -c 30 ./t/io_uring -p1 -d512 -b4096 -s32 -c32 -F1 -B1 -R1 -X1\n> -n1 -P1 /mnt/testfile\n> IOPS improve about 5% on ext4 and XFS.\n> \n> [...]\n\nApplied to the vfs-7.2.iomap branch of the vfs/vfs.git tree.\nPatches in the vfs-7.2.iomap branch should appear in linux-next soon.\n\nPlease report any outstanding bugs that were missed during review in a\nnew review to the original patch series allowing us to drop it.\n\nIt's encouraged to provide Acked-bys and Reviewed-bys even though the\npatch has now been applied. If possible patch trailers will be updated.\n\nNote that commit hashes shown below are subject to change due to rebase,\ntrailer updates or similar. If in doubt, please check the listed branch.\n\ntree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git\nbranch: master\n\n[1/1] iomap: avoid memset iomap when iter is done\n      https://git.kernel.org/vfs/vfs/c/72fa5c7e5c81","headers":{"Return-Path":"\n <SRS0=O20/=CV=vger.kernel.org=linux-ext4+bounces-15995-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=j82qdD6R;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=150.107.74.76; helo=mail.ozlabs.org;\n envelope-from=srs0=o20/=cv=vger.kernel.org=linux-ext4+bounces-15995-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=104.64.211.4 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=j82qdD6R;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15995-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"j82qdD6R\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g103V5pGjz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 23:11:18 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g103V5Bwtz4w1g\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 23:11:18 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g103V55Lkz4wLd; Wed, 22 Apr 2026 23:11:18 +1000 (AEST)","from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g103Q3Zvpz4w1g\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 23:11:14 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id E0507303B8F4\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 12:56:47 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 0EE393E95AE;\n\tWed, 22 Apr 2026 12:56:44 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id BEDA93CE4BB;\n\tWed, 22 Apr 2026 12:56:43 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 263BBC19425;\n\tWed, 22 Apr 2026 12:56:40 +0000 (UTC)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776863478; cv=pass;\n\tb=S0Vt6ElFtYF1BrErxDdm+Hp6M1F+sM9GSQ006LarXSd2iQG9oMEs0cvNDDWsqYuk+vLqI3EXRDco7lkY6TT0/KvNBOJzyV+kfIfhYEQ9TGr7U3EiiOIkgzOzCniyrOUMboLVUcZDgdEyoVVj4fvCyjlkm/pCkKlNYuw0B04dWa29gW1hcJPTxJEJe+78l7WqrhLR60BM5vQrJUpH6vOCnTSzAQ3DPFTghSO5EWMhv63xuAhUE9keXp6jTph7zacYLxoRaJL2mriXs9Tmh0AktRPP8sAKIyEpIqqkf7X+lJ64N2Xb9BAe1jqQGgKeyCIXZ0fwXcpe8y9aaHaGavPG5w==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776862603; cv=none;\n b=hDNku9unuychpFFmcNDT0a0wu4mIhLqIGqM1scfSxrLIgXpZ1QqdkEU8PkL7qNDhfOANkWLqF4uylyn6eLcMTT0xzdQKFYP7SG4bJcbj10/oSCSQeiwNjoVTwRaBzO7sNx7v4qByYycTP++u8CpDEqDCVY8pbQskeNjOjD8aAy8="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776863478; c=relaxed/relaxed;\n\tbh=0ko3sCU86B4CPIKR4o9TcoyJwX5aSk7J164qK0zlvQ8=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=dl0E31KfPJ0y5CqoAMhmUF9Zi/AbejODi7hrsO+oVEva0h4jF9SbrRls1FVvpM1u7b6nOfPjcf/g9BF4r42ZVAhvzslahBSskrn5Fgol2PURAsFU9JJDBTgmq79UKDjcH/NfN8Hy4B2E/SZe+/Tdnp6xpWLmEWcuxuxSX0LOkVpo/hkozy0G119IxgziSospFq/Q5YQn/fO/HGJh7ePqKE9cs03S2k5nPxx+PRjZaDAr5aasdD66yrTUyNcuVwOsYsiaOSU+33QY20DTEL4lhKNeUBYkmfRH4VB+Sg4RjCPBuXvB+BXBWKDSOKT/XNBDeslFrL5IgDQqgUuBt98TYg==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776862603; c=relaxed/simple;\n\tbh=86mJktcdeRWSNtY4LehpxJnSKmedlpV1JxUJWEaTNoA=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=AfagVD6MyfAt4xkmsk/Xj15aevAi8e76fsGtxR+jCBvKGOpFHf18V1mMQ3SpYPHyWUwKCzzKNnTxjZ4aE2gGIXvCkyFcAukQ7pwLV+LOgt9PrRjKOUwWbk1skRT0evIF3HFQ20o5Hd4nqlpunHQOJrMybKtM46Ix7Y22fMntalM="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=j82qdD6R; dkim-atps=neutral;\n spf=pass (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15995-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=j82qdD6R; arc=none smtp.client-ip=10.30.226.201"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776862603;\n\tbh=86mJktcdeRWSNtY4LehpxJnSKmedlpV1JxUJWEaTNoA=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=j82qdD6RNuIOKtiO/lDYEsaU76XlfGMghXga5brB0KpANCOdJEON+L7qPCoW6A+o9\n\t jCZneXlIwokeRqSFIL6XP6xOcnZeUV/8C+bfr7tJSfoVrkHWGh+1T2IM19WID1yQOM\n\t xuTPpHhKJoC7DdzJkmOeA4n+OIic1KtQPvKwrSI4vLrjPkL6tqPTw1UQCGXcPi0YI8\n\t Kzxb2tpbswQqHoUeteP7g9fk3O9l+M0fEq2TCYBGF+a3RuLpkyrhT01c7ET8RVs1Rh\n\t 5DWbSJzIlgwpqzenZhTxyBmGXQtkSjgAt/nAlkTRB0uLrjQJuTaQPJALKH+ExkAAr8\n\t RuzB8UdPM3YWw==","From":"Christian Brauner <brauner@kernel.org>","To":"djwong@kernel.org,\n\thch@infradead.org,\n\tlinux-xfs@vger.kernel.org,\n\tlinux-fsdevel@vger.kernel.org,\n\tlinux-ext4@vger.kernel.org,\n\tFengnan Chang <fengnanchang@gmail.com>","Cc":"Christian Brauner <brauner@kernel.org>,\n\tlidiangang@bytedance.com,\n\tFengnan Chang <changfengnan@bytedance.com>","Subject":"Re: [PATCH v2] iomap: avoid memset iomap when iter is done","Date":"Wed, 22 Apr 2026 14:56:23 +0200","Message-ID":"<20260422-pflaster-verifizieren-382dd21880d0@brauner>","X-Mailer":"git-send-email 2.47.3","In-Reply-To":"<20260420061630.62077-1-changfengnan@bytedance.com>","References":"<20260420061630.62077-1-changfengnan@bytedance.com>","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","X-Developer-Signature":"v=1; a=openpgp-sha256; l=1367; i=brauner@kernel.org;\n h=from:subject:message-id; bh=86mJktcdeRWSNtY4LehpxJnSKmedlpV1JxUJWEaTNoA=;\n b=owGbwMvMwCU28Zj0gdSKO4sYT6slMWS+ONr8x+Pa5JWNLk3B80t1LpvGZuxewlZ/+9uWFKOyt\n +FrJFOMO0pZGMS4GGTFFFkc2k3C5ZbzVGw2ytSAmcPKBDKEgYtTACZitJGRYaJ2zg/FyUF74hs6\n a1MexC3c4XDIKF7sR1L+Ilfe5OSCPQz/HVgm9l7xk/nsPiNE+O772XcS1FXd7+5YG3Azxz/97wY\n jPgA=","X-Developer-Key":"i=brauner@kernel.org; a=openpgp;\n fpr=4880B8C9BD0E5106FC070F4F7B3C391EFEA93624","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tMAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]