From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21E2F25E81D for ; Mon, 28 Apr 2025 13:16:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745846195; cv=none; b=N1eacdEXeWRWdevwfJQ2wqSb8//yIA6lDLGugpV3vsppG5jarfJDVpsY6ICoBxRD1HZ5xO6e7H7vQiCk+485l5PHRd8m4QzwUL+YuM8aLcQVGf1R4zL7oL2eAezmy1kefdkS2T9FAagtLsEtwIL4LehSG7ECa6hqzhU35ziNPMQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745846195; c=relaxed/simple; bh=NW84TxEhdb7ZElUc5cFUgz5zc5jpHgx7GoeBgURA278=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=b/nly2meZNNO+LCZVU5163iMP2THm7sr6xrgAK7P7ZVcKySBqobSROZOezzJN5lFIXNvPGb+mqWuyR+CTqxS8A6tKVSBW4/CdJ1RUiTAO8DQ9g0lFFrX088lCnJGxyyN2t3tkC3nmvPbJbAJH6BnloY+D33qUxjwElzILiUxaCQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=N/XOlj9E; arc=none smtp.client-ip=209.85.219.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="N/XOlj9E" Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6e8fb83e137so49197346d6.0 for ; Mon, 28 Apr 2025 06:16:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1745846193; x=1746450993; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=v4DHTb7AvO4YicH+xSWtDalbuQanacnJSYHX0xM691I=; b=N/XOlj9EFqhqN5MhWNQAiQ+QnTjPBWKDnC0nsRikpONqYlFezdqGxS2LJY56ggJ+mt JkNXx1eAXQ0xucYtxQXYDAFibfCxNIIu832IdctCno0zDAB24Bu7nvnin4U4wyxe/1kp zD+0GcShK5MfbKTPnXw9UQqUrrpYggeWrFKjywHAg5ivdfg5C9jf2sa3Dcry+88GIdGk xwy6i3RsslHx8Tr+MkipL2QTqCbomlv2KJr4e+MHcIkVlCutdWik/D4sEOK1yj+QVhne sI+td4RlizN3PgS9Nsm6v2gQ6m6ioDYTiIXEQPA5J/ncuPm5PC/YlHCYV5OdDXtU/xl+ bWHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745846193; x=1746450993; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=v4DHTb7AvO4YicH+xSWtDalbuQanacnJSYHX0xM691I=; b=o/xXUB/rCx2lA0ypS1S9r4wVDB3cGOqKS074DXEqsqyBSPwqJz6AzX+OCg0rRun0lM QGygb1oZ15M0g9AJGtjvA8Yn0rUWHQtfEarkwh5iqa+57/2AMBjOa/CjlnZjfT0JV2WU 2WE0uPyooHIlo5vwHjLEr7/9ZpiVk8iCrpQd7n3BDInN8958cRnbylzk+YqXPg4ouFlA Og8j/PjoU9zV6SlTtQnSmyx3WxHuKyxGnsxEVFot5i3emINixwAmoFnK0s9OhayAEP2u 14SRU/CI9UCiCqZk+sOBQHr8PUiMTMY9NBnsRk/oKdpm834nP7YgaXqkZrty+dzZi739 lynA== X-Forwarded-Encrypted: i=1; AJvYcCXdW8ygsMzu/4SwWlXonryovSn/LEucUNgAfumsPiY8yM/40Uyln9iIbw14uY5gLY0OR/qnGcj3P8M=@vger.kernel.org X-Gm-Message-State: AOJu0YwirFmdnaq4707RkbBCbWjM/ivHqJAIKz6/yr6Hr/c1Uo96Yryv xGnAA0/8NT0/cdCO0sz3Ne5TqxbbnuKWSJvT9lTKE64xpqKfr0lOhLzcffw6Gt8= X-Gm-Gg: ASbGnctsmCMAfEa1aIVkS49wbMdfW3TpFlJyAIdl/BN/bJt+H8Y4OcZq90ryDpkPtwu P+DXNiaxfIfnQuQY8/7lJ0r1slnXbfGqUXDseKYIbNCJGEUSfesao9YMOwG7t9QsZbPa1R6Cvnw LM13ZSoB96+Mq3d2PLynjs7N7f4vPTVLeWk+jcpGPMk4hA8/Md79qrHPf5Wn/P8q5H/vPf4iJej Hr1LDiss3g3cQq237oo5C71VN13lC0lNBbgInzG2KT6siDusswPFw4C4E+DiPQ71iK7v3Y6PbM+ 13DOLACPFFXzxi4CBaCaa7LhS48mwDIZxyv8ilrivQh5hBgV2R327gPtep8Zml4ktft9g2h/rTz SbQWYYHU2OFMRMHZcu+M= X-Google-Smtp-Source: AGHT+IGm1OrVyo7NrhtixKONc1TT2Ec0eky4BVMvt9fZIav2cWhkRh7ddfgsBqvKXcfpG60XtXV5Kw== X-Received: by 2002:a05:6214:76c:b0:6f2:d367:56bf with SMTP id 6a1803df08f44-6f4cba51bd9mr207427746d6.31.1745846192886; Mon, 28 Apr 2025 06:16:32 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-167-219-86.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.167.219.86]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f4c74d3dcbsm53164536d6.50.2025.04.28.06.16.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 06:16:32 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1u9OLX-00000009TaN-1zxp; Mon, 28 Apr 2025 10:16:31 -0300 Date: Mon, 28 Apr 2025 10:16:31 -0300 From: Jason Gunthorpe To: Leon Romanovsky Cc: Luis Chamberlain , Marek Szyprowski , Jens Axboe , Christoph Hellwig , Keith Busch , Jake Edge , Jonathan Corbet , Zhu Yanjun , Robin Murphy , Joerg Roedel , Will Deacon , Sagi Grimberg , Bjorn Helgaas , Logan Gunthorpe , Yishai Hadas , Shameer Kolothum , Kevin Tian , Alex Williamson , =?utf-8?B?SsOpcsO0bWU=?= 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 , Matthew Wilcox , Dan Williams , Kanchan Joshi , Chaitanya Kulkarni Subject: Re: [PATCH v9 07/24] dma-mapping: Implement link/unlink ranges API Message-ID: <20250428131631.GB1213339@ziepe.ca> References: <2d6ca43ef8d26177d7674b9e3bdf0fe62b55a7ed.1745394536.git.leon@kernel.org> <20250427081312.GE5848@unreal> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250427081312.GE5848@unreal> On Sun, Apr 27, 2025 at 11:13:12AM +0300, Leon Romanovsky wrote: > > So arch_sync_dma_for_device() is a no-op on some architectures, notably x86. > > So since you're doing this work and given the above pattern is common on > > the non iova case, we could save ourselves 2 branches checks on x86 on > > __dma_iova_link() and also generalize savings for the non-iova case as > > well. For the non-iova case we have two use cases, one with the attrs on > > initial mapping, and one without on subsequent sync ops. For the iova > > case the attr is always consistently used. > > I want to believe that compiler will discards these "if (!coherent && > !(attrs & DMA_ATTR_SKIP_CPU_SYNC)))" branch if case is empty. Yeah, I'm pretty sure it will Jason