Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp434565ybm; Wed, 22 May 2019 05:52:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqzh7fTF2Nf46Aizbgs7A8WXAc8T4rtquCWOKt+b81lNo9iG1nENg9xMC+1h1MWcUw8siCEe X-Received: by 2002:a17:902:100a:: with SMTP id b10mr87458174pla.239.1558529547962; Wed, 22 May 2019 05:52:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558529547; cv=none; d=google.com; s=arc-20160816; b=e08Cdb5BdRSSYqcBfOSeMg3JUnvBkp9YI1/NoE7ywI7D19tESnIjZsWQRDJ38m4ZyA i0VuUAf0QqeHW+8bp0DxSIAdk7oPycWjdR8Q2YasR2RCaRlI0zuA9CoX/XJK1zsYV/9m dv6ph7NCo/Rq/PESUvuqM8a3qq0Kuh89jS3AmYgOxRRbxFjEHqgqXHIo8zLX8cOn3OfH c6MXvDlvJfSAtuMV4AMnlFmaBvc4hpHvDVejvor3/flQAmWAkUDUIv+bSpXCGVfMTfH7 fns+GJ/ijrNc4hpPlMExuik4aFuUPApxUWbl+dJM2zXgwuriXNzSrT97p3oh1iWT+h28 V77w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=lzXXMsatYY2OjYUOA+WnHdKU5clBsHTNRINxie9sG0Y=; b=shhJ5bWUQlXhofwHqk2WZPI3H4TufcED/Ay7+QMquMVsbVq7EaUsVscvagoO6qpLL6 FXWm1nT4hEprorAnu6RBr805How9At6w2ROVqeVW0XAyVgD21eOfmkXw4AzhnozuN7is zhVBRm7NtgKEgjZRQftExmJSoYOlO3PH16dhOm1uPCn9EyegdlqyqU/uf8ZehAt8gk56 h62U91StU1g1Z7IQXo5A3zMFPQ22YSyDmmlMBoOz/alKrQylEZf3iBlFFIM7SFfX+qFy BDelnVPxlj6ni67UL/Erei4gBE5xOap+I0XHnvsu28j59qJuEc7nfChPcU/h7ySu7tNh gjWw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d6si14416476plo.396.2019.05.22.05.52.12; Wed, 22 May 2019 05:52:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729375AbfEVMuv (ORCPT + 99 others); Wed, 22 May 2019 08:50:51 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:49898 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727975AbfEVMuu (ORCPT ); Wed, 22 May 2019 08:50:50 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 64CBC80D; Wed, 22 May 2019 05:50:50 -0700 (PDT) Received: from [10.1.196.75] (e110467-lin.cambridge.arm.com [10.1.196.75]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ED6273F575; Wed, 22 May 2019 05:50:48 -0700 (PDT) Subject: Re: [PATCH] swiotlb: sync buffer when mapping FROM_DEVICE To: Christoph Hellwig , =?UTF-8?Q?Horia_Geant=c4=83?= Cc: Konrad Rzeszutek Wilk , Marek Szyprowski , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, linux-imx@nxp.com References: <20190522072018.10660-1-horia.geanta@nxp.com> <20190522123243.GA26390@lst.de> From: Robin Murphy Message-ID: <6cbe5470-16a6-17e9-337d-6ba18b16b6e8@arm.com> Date: Wed, 22 May 2019 13:50:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190522123243.GA26390@lst.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22/05/2019 13:32, Christoph Hellwig wrote: > I'm a little worried about this. While it looks functionally correct > we have surived without it, and doing another copy for every swiotlb > dma mapping from the device looks extremely painful for the typical use > cases where we expect the device to transfer the whole mapping. > > I'd be tempted to instead properl document the current behavior and > introduce a new DMA_ATTR_PARTIAL flag to allow for partial mappings. Would that work out any different from the existing DMA_ATTR_SKIP_CPU_SYNC? If drivers are prepared to handle this issue from their end, they can already do so for single mappings by using that attr along with explicit partial syncs via dma_sync_single(). For page/sg mappings we'd still have the problem of identifying what part of "partial" actually matters, and probably having to add some additional new sync operations to cope. Robin.