From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (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 BD6E7302748 for ; Fri, 21 Nov 2025 23:28:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763767705; cv=none; b=PsBovJxXotnGe8Z6Wy/DGeg8fyROPnnxRqKjfyHBY9XHvOVqMHUmJCVyytWkgXWTjjx2u6gRGX4zsDQuAtCq1YfutV54eQ0a8yu2vbiQf1uMlctpam+8DB7lRVSjDGVDWOV5XCgqm5BrGqEg3C+q6L9J00qdpPcgoSXCm6nNnG0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763767705; c=relaxed/simple; bh=hsdIHNHsZF9T1sX7+gGYutcVt+aySGlsfoBk3lYQa0I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=omcs2GC60pJs0LPvlPhXhnw62Gtnx5cjJMDkGUN9/LGU/n6eZDWH7Tp9LJG50a/nCMrSEzoY7VG/zW8GIALYXUCf4M0/hfHErJwxBFq+hz7d4NBYpUD6SbjQrykG1i9vjPXAtptp9MZkNileAKrx+0kVwocdM7N/rzW32T3lf6E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eXtZ65RL; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eXtZ65RL" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-7baf61be569so2926689b3a.3 for ; Fri, 21 Nov 2025 15:28:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763767697; x=1764372497; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UxtDpSmTs7mL/tjhVCGhuXCnOSYOMYknzMq2xwvzpN0=; b=eXtZ65RLWeUAS0dFPjS4Xp8RljSpZ6gSHVPbXAOxYch+RefHceWTBGl/py2lAit7st u7VrOPZABrVzNvH4SNJF+WIIieSAajH5yVdsaNfWROMR6ChFx89LwtTYGvTw1eRhDf69 7vCpct+4Z1CtIz0o2YHY658gtdipqNIVklKZnR8GRtPZFL7rdnNF58jc8Tcb4YKAd8D6 OWsk4f6miPYOx1Ezh+ABNhgQ9dQCDQxeRWyo+B6ILMPZjDXevn6dYmcgRXD8rE27ZIaS xDVSYM50RDFmB6h/GCW9bMOWDLnWBAbGk9lyDFjsgm2elzlsnLppmOViuV6z/x7jQK10 BobQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763767697; x=1764372497; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UxtDpSmTs7mL/tjhVCGhuXCnOSYOMYknzMq2xwvzpN0=; b=k8bt5RUebJVbMfNqy3u9i2gRLADKABHnfy862cU9QDfLBklJOYhDK8n9yDH+7KFzUX lN/DI+kpIlYvsf0Eq30dKKLKbdg5K3jdkgOfK8+MBRzoyA/xrwLnICxnMk+hQmMlfDtM 6puQXGiLejIiCSzqhryq1uCgdaCbiekkpacfmh3wz6JWW6ya76R8WvUwjIfH/0Vnj6iJ XgKbL8+ZHzuMkWDowqrvsG1Z61pqStYtOa+FGuDpnns0mjrKBh7ZL0j0QKhOCA5yC9Kj oH+372PHTq03uVegBOD5akz6j2nD8kOnqbVJ3T8MYnV5qNxdWmxJNFP/nUm4TOxLZxrU AzZA== X-Forwarded-Encrypted: i=1; AJvYcCW+iWRsh7lNpAyQn7B1izImLD1fY055lY6GXfFqGV+ddw9MHUgs6QjJWsPi7Kwlg81ZHhhckcXEPNpdbs8=@vger.kernel.org X-Gm-Message-State: AOJu0YyIDEPrRfzS1fZYI8q8plf/lI/lB+Adjb1giZrqoq/EYXNq6EC0 dhA4QZbnma/HWpTx4rUdyxrvaSnYIqQgYqTuKqFnbHk8DmHzKbuEWnzX X-Gm-Gg: ASbGncv+Y/DXoG4ibSkxJYV1q8FFKJXNfCRFd0ZiU0RWQIO0eOtIfMd4i8ysx2SuExe W3JkvJYk1AsSk3CSF7xCKEGCqaxU+bB9x/V9md/qdL2lfKHsWIswwIEx7bn97VcyS/jDjberWyv oj6dw5+Sx/aXPioKSJYEZiWUR+c01mpmw6E2HNJCoI5UkBsHRoVa+BdO511IoZkEDScgGN3l28j ynlW0rXW0MCWNYV8L6W3ka7q03P3xvnPoX72HYNUxa8Eo9OuBnHiicL7ydU3gN/sNT7f5dc8T4S 4us4U4B1S8LOm9xcEJgzsx7YGxAAbQCqqClalkW4Xwkgy7RHGSc/Ggj283ouwq6Jhrd10mIZgMa VPzltZlITCXn5RSLwqUM5H1RF8g9LHU1pVl4l2OVXI93dniGaDzFEc+DK8zOHfmgsHOWnrzNo3s f0tQ82QNh+Gm4ja3RWrH6hMB1u X-Google-Smtp-Source: AGHT+IHQzwceccuSE+ynV0dbTPoBKwMThY8XryTam2V+oxreq4oB+F/urlJ+SII61jfTJsuQO/UmrQ== X-Received: by 2002:a05:6a20:729a:b0:35e:d74:e4b6 with SMTP id adf61e73a8af0-36150e2be9amr4501844637.7.1763767696784; Fri, 21 Nov 2025 15:28:16 -0800 (PST) Received: from Barrys-MBP.hub ([47.72.129.29]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7c3f095c237sm7226947b3a.45.2025.11.21.15.28.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 21 Nov 2025 15:28:16 -0800 (PST) From: Barry Song <21cnbao@gmail.com> To: m.szyprowski@samsung.com Cc: 21cnbao@gmail.com, ada.coupriediaz@arm.com, anshuman.khandual@arm.com, ardb@kernel.org, catalin.marinas@arm.com, iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, maz@kernel.org, robin.murphy@arm.com, ryan.roberts@arm.com, surenb@google.com, v-songbaohua@oppo.com, will@kernel.org, zhengtangquan@oppo.com Subject: Re: [RFC PATCH 5/5] dma-mapping: Allow batched DMA sync operations if supported by the arch Date: Sat, 22 Nov 2025 07:28:07 +0800 Message-Id: <20251121232807.40491-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <253c870f-770b-4102-be47-f8c06e9e6c31@samsung.com> References: <253c870f-770b-4102-be47-f8c06e9e6c31@samsung.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Sat, Nov 22, 2025 at 12:09 AM Marek Szyprowski wrote: > > Hi Barry, > [...] > This version looks a bit better to me. Similar batching could be added > also to dma_iova_link()/dma_iova_sync() paths. Thanks, Marek. I will respin a new version. For dma_iova, I assume you meant something like the following? diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index 7944a3af4545..7bb6ed663236 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c @@ -1837,7 +1837,7 @@ static int __dma_iova_link(struct device *dev, dma_addr_t addr, int prot = dma_info_to_prot(dir, coherent, attrs); if (!coherent && !(attrs & (DMA_ATTR_SKIP_CPU_SYNC | DMA_ATTR_MMIO))) - arch_sync_dma_for_device(phys, size, dir); + arch_sync_dma_for_device_batch_add(phys, size, dir); return iommu_map_nosync(iommu_get_dma_domain(dev), addr, phys, size, prot, GFP_ATOMIC); @@ -1980,6 +1980,8 @@ int dma_iova_sync(struct device *dev, struct dma_iova_state *state, dma_addr_t addr = state->addr + offset; size_t iova_start_pad = iova_offset(iovad, addr); + if (!dev_is_dma_coherent(dev)) + arch_sync_dma_batch_flush(); return iommu_sync_map(domain, addr - iova_start_pad, iova_align(iovad, size + iova_start_pad)); } If so, I don't really have such hardware to test. I wonder if I can make it as patch 6/6 when respinning, and still mark it as RFC v2. Or should I leave it as is and expect someone with the hardware to test and send it? Thanks Barry