linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Robin Murphy <robin.murphy@arm.com>
Cc: Christoph Hellwig <hch@lst.de>, Will Deacon <will.deacon@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	linux-arm-kernel@lists.infradead.org,
	iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 09/10] swiotlb: add support for non-coherent DMA
Date: Fri, 26 Oct 2018 10:04:21 +0200	[thread overview]
Message-ID: <20181026080421.GA6100@lst.de> (raw)
In-Reply-To: <9ea28547-dd1a-b4bd-2e91-f71e70417e7d@arm.com>

On Mon, Oct 22, 2018 at 06:11:04PM +0100, Robin Murphy wrote:
>>   +	if (!dev_is_dma_coherent(dev) &&
>> +	    (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0)
>
> Nit: other parts of the file are already using the "!(...)" style rather 
> than "(...) == 0".

Indeed.  Probably some kind of copy and past error..

> I had a quick play at moving the cache maintenance here out into the 
> callers, which comes out arguably looking perhaps a little cleaner (only +1 
> source line overall, and actually reduces text size by 32 bytes for my 
> build), but sadly I can't really see any way of doing the equivalent for 
> map/unmap short of duplicating the whole 3-line arch_sync_*() block, which 
> just makes for a different readability problem. As you mentioned on patch 
> #7, I guess this really is just one of those things which has no nice 
> solution, so cosmetics aside,

It looks pretty ok, but given that I want to send this version to
Linus for the merge window I don't really dare to touch it.

The master plan for 4.21 is to actually merge swiotlb into dma-direct
and to allow direct calls to dma-direct given how expensive indirect
calls are with spectre, and dma mappings show up badly in various
benchmarks.  I'll see if I can do that in a way following what you've
done.

  reply	other threads:[~2018-10-26  8:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08  8:02 move swiotlb noncoherent dma support from arm64 to generic code V2 Christoph Hellwig
2018-10-08  8:02 ` [PATCH 01/10] swiotlb: remove a pointless comment Christoph Hellwig
2018-10-11 17:49   ` Robin Murphy
2018-10-19  0:09   ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 02/10] swiotlb: mark is_swiotlb_buffer static Christoph Hellwig
2018-10-11 17:54   ` Robin Murphy
2018-10-19  0:12   ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 03/10] swiotlb: do not panic on mapping failures Christoph Hellwig
2018-10-11 18:06   ` Robin Murphy
2018-10-19  0:18     ` Konrad Rzeszutek Wilk
2018-10-19  0:17   ` Konrad Rzeszutek Wilk
2018-10-19  6:04     ` Christoph Hellwig
2018-10-19 13:45       ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 04/10] swiotlb: remove the overflow buffer Christoph Hellwig
2018-10-11 18:19   ` Robin Murphy
2018-10-12 17:04   ` Catalin Marinas
2018-10-19  0:23   ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 05/10] swiotlb: merge swiotlb_unmap_page and unmap_single Christoph Hellwig
2018-10-18 17:44   ` Robin Murphy
2018-10-19  0:25   ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 06/10] swiotlb: use swiotlb_map_page in swiotlb_map_sg_attrs Christoph Hellwig
2018-10-18 17:53   ` Robin Murphy
2018-10-19  0:33   ` Konrad Rzeszutek Wilk
2018-11-07  1:27   ` John Stultz
2018-11-09  7:49     ` Christoph Hellwig
2018-11-09 16:37       ` Robin Murphy
2018-11-19 19:36         ` Robin Murphy
2018-11-20  9:22           ` Christoph Hellwig
2018-11-13  0:07       ` John Stultz
2018-11-13  0:26         ` John Stultz
2018-11-14 14:13         ` Christoph Hellwig
2018-11-14 16:12           ` Christoph Hellwig
2018-11-19 23:22             ` John Stultz
2018-11-20  9:25               ` Christoph Hellwig
2018-11-23 18:27                 ` Will Deacon
2018-11-23 19:34                   ` Robin Murphy
2018-11-26 19:31                     ` Will Deacon
2018-10-08  8:02 ` [PATCH 07/10] swiotlb: refactor swiotlb_map_page Christoph Hellwig
2018-10-18 18:09   ` Robin Murphy
2018-10-19  0:37     ` Konrad Rzeszutek Wilk
2018-10-19  6:52       ` Christoph Hellwig
2018-10-19 13:46         ` Konrad Rzeszutek Wilk
2018-10-08  8:02 ` [PATCH 08/10] swiotlb: don't dip into swiotlb pool for coherent allocations Christoph Hellwig
2018-10-12 17:04   ` Catalin Marinas
2018-10-19  0:40   ` Konrad Rzeszutek Wilk
2018-10-19 16:45   ` Robin Murphy
2018-10-08  8:02 ` [PATCH 09/10] swiotlb: add support for non-coherent DMA Christoph Hellwig
2018-10-19  0:49   ` Konrad Rzeszutek Wilk
2018-10-22 17:11   ` Robin Murphy
2018-10-26  8:04     ` Christoph Hellwig [this message]
2018-10-26  9:59       ` Robin Murphy
2018-10-08  8:02 ` [PATCH 10/10] arm64: use the generic swiotlb_dma_ops Christoph Hellwig
2018-10-12 13:01   ` Robin Murphy
2018-10-12 14:40     ` Christoph Hellwig
2018-10-12 17:05       ` Catalin Marinas
2018-10-22 17:52   ` Robin Murphy
2018-10-26 12:44     ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181026080421.GA6100@lst.de \
    --to=hch@lst.de \
    --cc=catalin.marinas@arm.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).