2020-10-21 18:39:59

by Alexey Kardashevskiy

[permalink] [raw]
Subject: [PATCH kernel 0/2] powerpc/dma: Fallback to dma_ops when persistent memory present

This allows mixing direct DMA (to/from RAM) and
IOMMU (to/from apersistent memory) on the PPC64/pseries
platform. This was supposed to be a single patch but
unexpected move of direct DMA functions happened.

This is based on sha1
7cf726a59435 Linus Torvalds "Merge tag 'linux-kselftest-kunit-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest".

Please comment. Thanks.



Alexey Kardashevskiy (2):
Revert "dma-mapping: move large parts of <linux/dma-direct.h> to
kernel/dma"
powerpc/dma: Fallback to dma_ops when persistent memory present

include/linux/dma-direct.h | 106 ++++++++++++++++++++++
kernel/dma/direct.h | 119 -------------------------
arch/powerpc/kernel/dma-iommu.c | 68 +++++++++++++-
arch/powerpc/platforms/pseries/iommu.c | 41 +++++++--
kernel/dma/direct.c | 2 +-
kernel/dma/mapping.c | 2 +-
6 files changed, 207 insertions(+), 131 deletions(-)
delete mode 100644 kernel/dma/direct.h

--
2.17.1


2020-10-28 01:52:06

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH kernel 0/2] powerpc/dma: Fallback to dma_ops when persistent memory present

On Wed, Oct 21, 2020 at 02:20:24PM +1100, Alexey Kardashevskiy wrote:
> This allows mixing direct DMA (to/from RAM) and
> IOMMU (to/from apersistent memory) on the PPC64/pseries
> platform. This was supposed to be a single patch but
> unexpected move of direct DMA functions happened.
>
> This is based on sha1
> 7cf726a59435 Linus Torvalds "Merge tag 'linux-kselftest-kunit-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest".
>
> Please comment. Thanks.

I really don't like your revert. I'm almost ready to kill of
dma-direct.h, and I really want it private in kernel/dma/, as people
keep adding abuses to drivers.

We have two options here:

(1) duplicate the code in arch/powerpc/
(2) add a hook to kernel/dma/

I've not been a fan of (2) in the past, but now that the code is out
of line, and we could make it dependent on a config option only set by
powerpc, I see it as the lesser evil now.