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 1679AD132BD for ; Mon, 4 Nov 2024 12:53:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 867B16B0089; Mon, 4 Nov 2024 07:53:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 816C06B008A; Mon, 4 Nov 2024 07:53:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 706056B008C; Mon, 4 Nov 2024 07:53:11 -0500 (EST) 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 517216B0089 for ; Mon, 4 Nov 2024 07:53:11 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id ED04D140996 for ; Mon, 4 Nov 2024 12:53:10 +0000 (UTC) X-FDA: 82748401764.06.4CDBA36 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by imf09.hostedemail.com (Postfix) with ESMTP id CA56E140002 for ; Mon, 4 Nov 2024 12:52:46 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.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=1730724706; 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=e2URs7fX78avpuvJr5WeUG9Vud8YYYnwuRfSvXvCeDo=; b=gZ++fJFFqQg/WRp5DcLU20pj5WTkKwAz+ymfRMeHHkn0XnJjXuTCDiWRlnJPkPECIAxHXq JmIiInP/bX5e4OANZGnd5vE0ixU0EZyt1p3WYcMW2cKWllcSjwY/L5ks2ie+j3PUPkWdu+ CBufDf289DLbGOyP7inw9Ln1tRb61UA= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.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=1730724706; a=rsa-sha256; cv=none; b=iXR71lxrt1xgP5lOtfltHWFGZRWjzD3Cq3MOf0fNdTMG3MltunEPrKnbs5g7rE31E91UaC 4Gu7rdF4o9muILf5hh0uXuvWA5tf19h5WCyopBOa6cWjGZJ48lahP2INTPbdkT4dax/cbq Gr9tqOirU6XqynQErLyXJ+L/mUltIxY= Received: by verein.lst.de (Postfix, from userid 2407) id D6983227AAF; Mon, 4 Nov 2024 13:53:02 +0100 (CET) Date: Mon, 4 Nov 2024 13:53:02 +0100 From: Christoph Hellwig To: Jason Gunthorpe Cc: Christoph Hellwig , Robin Murphy , Leon Romanovsky , Jens Axboe , Joerg Roedel , Will Deacon , Sagi Grimberg , Leon Romanovsky , 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 v1 07/17] dma-mapping: Implement link/unlink ranges API Message-ID: <20241104125302.GA11168@lst.de> References: <51c5a5d5-6f90-4c42-b0ef-b87791e00f20@arm.com> <20241104091048.GA25041@lst.de> <20241104121924.GC35848@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241104121924.GC35848@ziepe.ca> User-Agent: Mutt/1.5.17 (2007-11-01) X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: CA56E140002 X-Stat-Signature: bjo4ryrq87ffgosx9j5s7bwu5a3sejd7 X-HE-Tag: 1730724766-822886 X-HE-Meta: U2FsdGVkX193cv9p84aZiDs1T3ZtNGc2Kh0VKSV4r9DUfWjqNDufGB80JFsWmv5yiebuijxs5DZzGovT6VjhSOTR26QpGISt8PlKejMmJtJo2CVZbUGQXFyfx8zk78GRnRVcT7MVPPMclQuqlyaIbT6YO+ewxT2kPqEu2pSDDQQt0b3EC6nv5HXKMBZpHSLADAYELYOTb4qhsQuiDD7IZQKSZQzGP9luaV4siBaNcqu2+zN4CYl3w5aOiEFLjCkenhSWlta2QIG+gFjJZvxXydgGMs3XyQThhwI5xykyIr1IFXx1Wtuj6nqmx4IkXCk6ZYsXiV006y9WznYzaa53EF/+hCHmHtRgjo1Ueg3q5ALFE2vH71oXTiqp/RweSqUbXJ662wSfkuaxt+WlG1ZfhV/ZkzvhgHpjYGcXHaoTej0URb3aoAxfyXLAr0OUCFTnLj9l2KjFQGfs4iNnPIKRnYTHUgYuxOaA1lAsvUbG+h5Z3eiRKTFLk/bEvBBe5xmLtqP01ekMKztzaE7P5XEE6ct/0BBcebiJlhh51016i/QoiYWpdAYxWn+Uep8Lqj71c3YJeyBvZPpr83ijRAd7LuJLnM3vmIVQeHAN+73vAnhnDUdZBf5hPkugOECVBl9BxR2ybwdJEv85uOD+HHTfiYrlHLR8gpFjAlYK+4A73F0mDBBaHngtTX/IY0UJX9m8jJ2P2ez6Sa12+mJJRfP5yT+CFSrLTkez8Vw7/dmXeYrWxMu1PH9fxlJPQkCyrcMGtJoygBJQQBWrF4XXX4OvNXuNqZtcb2fZ9DxNMFMr9uQPewIcyVHlmDxpv45XccliHtaXR2MRYpJYtiezACDp226yGkNUjl3UWbTatfjDzKa/fJWohRvxlXg147HOLmEZlTIQW0i01HF9DBNxcOITsG2ExdlIQP4h3h/L77BZGip6CVIYJWjzn7D7O0zV5rosAwX478aZtg6hi85n2Oc 6V2emykO ZrxWfgOE+hUOR9K1nYoy+ZQfyQbtcgxeONsvizoFEBYyYafUCeiqsST2v8IKTccVyxfZXy9yjI7f4h1s= 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, Nov 04, 2024 at 08:19:24AM -0400, Jason Gunthorpe wrote: > > That's a good point. Only mapped through host bridge P2P can even > > end up here, so the address is a perfectly valid physical address > > in the host. But I'm not sure if all arch_sync_dma_for_device > > implementations handle IOMMU memory fine. > > I was told on x86 if you do a cache flush operation on MMIO there is a > chance it will MCE. Recently had some similar discussions about ARM > where it was asserted some platforms may have similar. On x86 we never flush caches for DMA operations anyway, so x86 isn't really the concern here, but architectures that do cache incoherent DMA to PCIe devices. Which isn't a whole lot as most SOCs try to avoid that for PCIe even if they lack DMA coherent for lesser peripherals, but I bet there are some on arm/arm64 and maybe riscv or mips. > It would be safest to only call arch flushing calls on memory that is > mapped cachable. We can assume that a P2P target is never CPU > mapped cachable, regardless of how the DMA is routed. Yes. I.e. force DMA_ATTR_SKIP_CPU_SYNC for P2P.