2020-06-11 07:28:09

by David Rientjes

[permalink] [raw]
Subject: [patch for-5.8] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL

DMA_REMAP is an unnecessary requirement for AMD SEV, which requires
DMA_COHERENT_POOL, so avoid selecting it when it is otherwise unnecessary.

The only other requirement for DMA coherent pools is DMA_DIRECT_REMAP, so
ensure that properly selects the config option when needed.

Fixes: 82fef0ad811f ("x86/mm: unencrypted non-blocking DMA allocations use
coherent pools")
Suggested-by: Christoph Hellwig <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
---
kernel/dma/Kconfig | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
--- a/kernel/dma/Kconfig
+++ b/kernel/dma/Kconfig
@@ -73,18 +73,18 @@ config SWIOTLB
config DMA_NONCOHERENT_MMAP
bool

+config DMA_COHERENT_POOL
+ bool
+
config DMA_REMAP
+ bool
depends on MMU
select GENERIC_ALLOCATOR
select DMA_NONCOHERENT_MMAP
- bool
-
-config DMA_COHERENT_POOL
- bool
- select DMA_REMAP

config DMA_DIRECT_REMAP
bool
+ select DMA_REMAP
select DMA_COHERENT_POOL

config DMA_CMA


2020-06-11 14:57:21

by Alex Xu (Hello71)

[permalink] [raw]
Subject: Re: [patch for-5.8] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL

Excerpts from David Rientjes's message of June 11, 2020 3:25 am:
> DMA_REMAP is an unnecessary requirement for AMD SEV, which requires
> DMA_COHERENT_POOL, so avoid selecting it when it is otherwise unnecessary.
>
> The only other requirement for DMA coherent pools is DMA_DIRECT_REMAP, so
> ensure that properly selects the config option when needed.
>
> Fixes: 82fef0ad811f ("x86/mm: unencrypted non-blocking DMA allocations use
> coherent pools")
> Suggested-by: Christoph Hellwig <[email protected]>
> Signed-off-by: David Rientjes <[email protected]>
> ---
> kernel/dma/Kconfig | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>

Works for me with SME on or off with af7b480103, and with SME off in
abfbb29297. There is some regression with amdgpu and SME between those
two points, I need to check that out too. I haven't tested either before
or after with SEV (which I'm not even sure my system supports).
Regardless, this is a definite improvement.

Tested-by: Alex Xu (Hello71) <[email protected]>

Thanks,
Alex.

2020-06-15 06:40:04

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [patch for-5.8] dma-pool: decouple DMA_REMAP from DMA_COHERENT_POOL

Thanks,

applied, and will be pushed to Linus soon.