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 837C3D339A3 for ; Tue, 29 Oct 2024 07:46:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0A698D0006; Tue, 29 Oct 2024 03:46:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB9228D0003; Tue, 29 Oct 2024 03:46:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9CE848D0006; Tue, 29 Oct 2024 03:46:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7EB008D0003 for ; Tue, 29 Oct 2024 03:46:40 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0185C140C34 for ; Tue, 29 Oct 2024 07:46:39 +0000 (UTC) X-FDA: 82725857256.16.BC86649 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by imf01.hostedemail.com (Postfix) with ESMTP id C4A1C40010 for ; Tue, 29 Oct 2024 07:46:18 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf01.hostedemail.com: domain of hch@lst.de designates 213.95.11.211 as permitted sender) smtp.mailfrom=hch@lst.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730187943; a=rsa-sha256; cv=none; b=QdABIhS3J4GZ2CnHYw39UqvHrxH1LRFJyT8tSPobm8HsRs1FXzm9fU96pX3y2604pI1zrs ygUyR0br6XAX1jhHsmvXcNmZYbCu0LdVFJy+IE5TIJN9zvuXlrQ6N7SQ6yrmWIxFzSBmRR 666D2M1SMpH01bGr8EDNWAzLQGtcE+A= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf01.hostedemail.com: domain of hch@lst.de designates 213.95.11.211 as permitted sender) smtp.mailfrom=hch@lst.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730187943; 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; bh=ey/h1UWH4PsNFprB/VIDBkwWQ4/GYp79V4On9mrOAm4=; b=LmcEuquO8ytgHb80CrkKew5TxBtladolrak++6DSUz+HjibkVrFf8cspfrCcAd92B/R5fZ gaJDPe5WeTMf2/jWkq6Ox1u/bk3gMK2ex4DmYrWihSivxdLzVYp0f/4w1h+1RIRoNlZd3q X4Xu5kDxh5e6Ep2OD0BUEsDbkxHK3hE= Received: by verein.lst.de (Postfix, from userid 2407) id E1051227A88; Tue, 29 Oct 2024 08:46:31 +0100 (CET) Date: Tue, 29 Oct 2024 08:46:31 +0100 From: Christoph Hellwig To: Leon Romanovsky Cc: Baolu Lu , Jens Axboe , Jason Gunthorpe , Robin Murphy , Joerg Roedel , Will Deacon , Christoph Hellwig , Sagi Grimberg , Keith Busch , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , Marek Szyprowski , =?iso-8859-1?B?Suly9G1l?= Glisse , Andrew Morton , Jonathan Corbet , 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 Subject: Re: [PATCH 05/18] dma: Provide an interface to allow allocate IOVA Message-ID: <20241029074631.GD22316@lst.de> References: <844f3dcf9c341b8178bfbc90909ef13d11dd2193.1730037276.git.leon@kernel.org> <25c32551-32e2-4a44-b0ae-30ad08e06799@linux.intel.com> <20241028063740.GD1615717@unreal> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241028063740.GD1615717@unreal> User-Agent: Mutt/1.5.17 (2007-11-01) X-Rspam-User: X-Rspamd-Queue-Id: C4A1C40010 X-Rspamd-Server: rspam01 X-Stat-Signature: qpiwgti97gpnyb4st7sd6xmri3s4wqtg X-HE-Tag: 1730187978-880782 X-HE-Meta: U2FsdGVkX18qOtIrO//Rq3PGpRfu/ye0Hsi5e/y3cCm3iWdgoo/LrFAb8PdUI58pMuCaNLjg8hRgCofnUn3iAmtaY0aHH1ns+jC1a23FEFqpRNwXL+7T/TbU93wWuUJwmKqUrq9HSA21XE9GLGnkrTUtLVukyRZwsxLwYP0AGTw3g9AX6JGlTge/gPPQa830Ng4pjxLx9M0bHxeRgiG6LEA/aBbcUNanCbEfyH1r6eLSG8p2WQ8vEBG4Xqy01eJiYI7gVcEkppVOXANWZWW4pLOA5idTeClFKbpjLde6DwaCBlosTBVxu5IyKkwpc4PpSW9TLjnJcaFxm3BjsxuTA3e/TZw+PHOfMsqYRjh4OyDacTA/8SMDJh/5shmg3xYSHsULjcdak1KaEjyvkLvCi2Xp9NWArNjR8p1gVAcBBDgy/DxZCF07wOB1F7G+FMbn5nD51BbglQhosHyYC0EJCQxkzhnedi/+t04GBcjkGlDjOrbLwqtfkPruiOCwTX6gGJrza2U/VP0E3HsuouX1jDUlJ7gbQj5xZomkGtj6exHGpFO+N2xZOhFUY4AY18trNAy/t+qvkCJhkdWbEmick8w9nZ9iRvy7mQ5VZCzASwA/HHwEs1GWGfJpVT2NRLE2n68N9xoR+uTXVguLcSV5sAc7vn1B9dxG50iUBVv+36Jfk2bVMSrY7421/MFdk9BwpttD9qnnwHZyTBcVJoh++p0IIQ1HzlxMGIqk5ETsBFyDMBX3f77i7oJJNzo58qjsVRUTbMA3Nr5sSA3TaJoKtcFN2wsQLZHwgdm9PFWIgjm5Z4HZ/9dz1vvi5lXs1RVNwbZ16TbpkYj2t3zAamyyq1Mysd0ssBMGLQBp0JiJD6Cg+M3R30lxgfsrLN1RXKxRvgTSivP4kLZmqEo4oGQVTXwBMt1623kphe5bGEgSrh1deESk7cv4W06SqReVLFIqrfvaWunWgmj3ly6VQkF UDXoZOwv pH9iY9DlWsgesdfLJT98mP9JLwDH0UT0JMY7aIQWVt5CxbFTHadQHkmrVEGCC6gXn/3+qCFjXwnkbak+hi3ZjQDm9IrLm44ZcLOLF 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, Oct 28, 2024 at 08:37:40AM +0200, Leon Romanovsky wrote: > In this specific case, the physical address is used to calculate > IOVA offset, see "size_t iova_off = iova_offset(iovad, phys);" line, > which is needed for NVMe PCI/block layer, as they can have first > address to be unaligned and IOVA allocation will need an offset to > properly calculate size. And that is also very explicitly spelled out in the kerneldoc comments, including the note that the physical address is optional if the transfer is granule aligned (actually it says PAGE_SIZE which should be fixed). Any suggestions to further improve it are welcome of course.