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 09D1AC369D5 for ; Mon, 28 Apr 2025 16:46:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B2BFE6B0024; Mon, 28 Apr 2025 12:46:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB6FA6B009E; Mon, 28 Apr 2025 12:46:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97D846B009F; Mon, 28 Apr 2025 12:46:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 790676B0024 for ; Mon, 28 Apr 2025 12:46:26 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0B0BBC0D32 for ; Mon, 28 Apr 2025 16:46:27 +0000 (UTC) X-FDA: 83384030814.25.C466131 Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf11.hostedemail.com (Postfix) with ESMTP id 71F204000C for ; Mon, 28 Apr 2025 16:46:25 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Tlk2eBun; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf11.hostedemail.com: domain of kbusch@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=kbusch@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745858785; a=rsa-sha256; cv=none; b=Wcbf6xwxTV3MLUlosQIRtxthlVLfRxGlAW58I/B7wqnGfnA2OIFlgZHGNFt9mlDTM144EQ tj2xz7H9PJ2wIocDoQ0L+5XdBm3IeNgb+dFs3L57hROW9SKA5B34rU5u7pWQsW9FbpgK9v LOgVqFtkeiPJRDiHAUGBHPkobv1REoQ= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Tlk2eBun; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf11.hostedemail.com: domain of kbusch@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=kbusch@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745858785; 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=ilt5DUdHv+NQA0RqZ6cci7+KV9DKo6RxchNb+wWLKDo=; b=2FXcDZYkM23iB3/0gIdZcVXi9UousvTl3ipM5+vc96PW7p1P2C5hfMw4CD5fU/7Cr0maRL 99qHGJOb4NNO+nsRvGJ00ZC3qmhGbpUK1MJJSQ/ngoOdbumDAwqs9ZV8dfB8+TMXMg0dr0 8JRySrpiluwmMiHSfK4LOs/TvfGE7Xc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id 0FEC04AA85; Mon, 28 Apr 2025 16:46:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A90AEC4CEEC; Mon, 28 Apr 2025 16:46:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745858784; bh=Z8PCmnJ0yV8qERDqeQfISVPvJ3tqJw2Q7aIBdlyPo/k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Tlk2eBunYES27PROXmHIGQe3zmMP6HvdTE2sKVLCxFcGCmH8DHxdGjHqd3wobjohg VwJfw0ItrR32xKrcgdCW8TRpmdlk+DeJY1swcEr9VbaiBCu3yyJuag7MxpY9rcCj1j 8nTXrf6GECR+mLe+QAKunFydd77qXJZBtfWsqaoubYbzZfTupDTo+1dZCG4DPhnIKw GE9ORFXi++TgAbviRRmsybWuVr08WLZvPsjcAv5o6bRpncDLzkKDP2jiGKorIc8UjF OQmxqQxbREQlcM8XfaIRqR6lFGfo4bo5dy+E+StVFWQQTe6kZ8U9u+SSstYkVmXSTR 4chXnE6KS/Cag== Date: Mon, 28 Apr 2025 10:46:19 -0600 From: Keith Busch To: Leon Romanovsky Cc: Marek Szyprowski , Jens Axboe , Christoph Hellwig , Jake Edge , Jonathan Corbet , Jason Gunthorpe , Zhu Yanjun , Robin Murphy , Joerg Roedel , Will Deacon , Sagi Grimberg , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , =?iso-8859-1?B?Suly9G1l?= Glisse , Andrew Morton , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-rdma@vger.kernel.org, iommu@lists.linux.dev, linux-nvme@lists.infradead.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, Niklas Schnelle , Chuck Lever , Luis Chamberlain , Matthew Wilcox , Dan Williams , Kanchan Joshi , Chaitanya Kulkarni , Nitesh Shetty , Leon Romanovsky Subject: Re: [PATCH v10 23/24] nvme-pci: convert to blk_rq_dma_map Message-ID: References: <007e00134d49160d5edab94a72c35b7b91429b09.1745831017.git.leon@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <007e00134d49160d5edab94a72c35b7b91429b09.1745831017.git.leon@kernel.org> X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 71F204000C X-Stat-Signature: 8trkcu1hth958zqag957akeq5o675sxc X-Rspam-User: X-HE-Tag: 1745858785-275678 X-HE-Meta: U2FsdGVkX19cCcdTkpUNee4nMN8kWqH/KjPG4anNpbkM6NYB+/TvemUG8A88faP0C+6Kd9O48ypc8JwobZHOCRD8P7p9LJ+zOxcGcqmNJiBk3Tu2tDUXJMOPim2tSUsQUbgtrjq6G0mT7flCffYVoZ4rwJryW5f90f2XRBnVQKlO/h64hdsIEFVNE6rWPyIZIEIJmHrd4EMDMII5btNs00KEA33wMMm0EFFFEVu56gN2GrHfFWbNKX2zwUVnQyKhkQLEE/eUCw9RiYReISvtakP8HHDS3Tq7PA5Icc748MLf7r4gYJY2V/vPOirOI2rX/t4vHTd6V2/zQjOsmFP0EauBpm4IMlCSCd0nT9fZZpjXwuklic6pkuq+zYjKorVmEknglpGkGDGjEK6GmxxOYNudsNf1Hn9ZXcY7QfIPVwEccV9UaXxy9Py9/YA5851bX/bE7IR9SlFobjnvyvWKBFthrgkxAR/oNqdg9MsKef3kxLTeQ11mGT+LJH39UdmbGxY2ge69r4a2uox3w0xICFbJKEpLPrmpKEfxrdwpPNz9716HhNEA+BQz4arp0nh9BDwl7wwFswlQ4KS0cl6nFlDBeMstSC7/sq/nNm7o1yJdUpTR8gVKq9KV9U/bTtE2YZ3LpoQh6UURN7pWXyOTPdvGA2atWOkZOwS8oesTKXH9Gm9YQYB6qLLSE7Rm6BwC+hGSQ4+35+RRUDVQ1Yv59iVqQNdeNmLASMwIob58wGvfh2AUZLvJm7lUjrbMI3A3ZAsHQ5f9BHr8WSO5MHXGEhFhCMj+PCbxO6MMp+coZItcKeQrACvU6V+3oA6ky/Rg/wCLEBe3wG5UF36KmnSNAaDmam/TUoaPV2c/oqSciSA+POneRjhu9omiTlZC4xnEmPyKI1kO+XdIIf/52A/fGFN5OBHrQdRcxIG39/9HSEVTjVCFivLfrg== 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, Apr 28, 2025 at 12:22:29PM +0300, Leon Romanovsky wrote: > + do { > + if (WARN_ON_ONCE(mapped == entries)) { > + iter.status = BLK_STS_IOERR; > + break; > + } > + nvme_pci_sgl_set_data(&sg_list[mapped++], &iter); I think this should say "++mapped" so that the data blocks start at index 1 (continued below...) > + iod->total_len += iter.len; > + } while (blk_rq_dma_map_iter_next(req, dev->dev, &iod->dma_meta_state, > + &iter)); > > -out_unmap_sg: > - dma_unmap_sgtable(dev->dev, &iod->meta_sgt, rq_dma_dir(req), 0); > -out_free_sg: > - mempool_free(iod->meta_sgt.sgl, dev->iod_meta_mempool); > - return BLK_STS_RESOURCE; > + nvme_pci_sgl_set_seg(sg_list, sgl_dma, mapped); because this here is setting sg_list index 0 to be the segment descriptor. And you also need to increment sgl_dma to point to the element after sg_list, otherwise it's pointing right back to itself, creating a looped list. > + if (unlikely(iter.status)) > + nvme_unmap_metadata(dev, req); > + return iter.status; > }