[0/4] dma-pool: Fix atomic pool selection
mbox series

Message ID 20200709161903.26229-1-nsaenzjulienne@suse.de
Headers show
Series
  • dma-pool: Fix atomic pool selection
Related show

Message

Nicolas Saenz Julienne July 9, 2020, 4:19 p.m. UTC
This is my attempt at fixing one of the regressions we've seen[1] after
the introduction of per-zone atomic pools.

This combined with "dma-pool: Do not allocate pool memory from CMA"[2]
should fix the boot issues on Jeremy's RPi4 setup.

[1] https://lkml.org/lkml/2020/7/2/974
[2] https://lkml.org/lkml/2020/7/8/1108

---

Nicolas Saenz Julienne (4):
  dma-direct: Provide function to check physical memory area validity
  dma-pool: Get rid of dma_in_atomic_pool()
  dma-pool: Introduce dma_guess_pool()
  dma-pool: Make sure atomic pool suits device

 include/linux/dma-direct.h |  1 +
 kernel/dma/direct.c        |  2 +-
 kernel/dma/pool.c          | 76 +++++++++++++++++++++++++++-----------
 3 files changed, 56 insertions(+), 23 deletions(-)

Comments

Jeremy Linton July 10, 2020, 6:52 p.m. UTC | #1
Hi,


I have merged this to a 5.8 tree along with "dma-pool: Only allocate 
from CMA when in the same memory zone" and tested it in various ACPI/DT 
combinations, particularly on the RPI4. It seems to be working fine.

So thanks for your time and effort clearing this up!

Tested-by: Jeremy Linton <jeremy.linton@arm.com>


On 7/9/20 11:19 AM, Nicolas Saenz Julienne wrote:
> This is my attempt at fixing one of the regressions we've seen[1] after
> the introduction of per-zone atomic pools.
> 
> This combined with "dma-pool: Do not allocate pool memory from CMA"[2]
> should fix the boot issues on Jeremy's RPi4 setup.
> 
> [1] https://lkml.org/lkml/2020/7/2/974
> [2] https://lkml.org/lkml/2020/7/8/1108
> 
> ---
> 
> Nicolas Saenz Julienne (4):
>    dma-direct: Provide function to check physical memory area validity
>    dma-pool: Get rid of dma_in_atomic_pool()
>    dma-pool: Introduce dma_guess_pool()
>    dma-pool: Make sure atomic pool suits device
> 
>   include/linux/dma-direct.h |  1 +
>   kernel/dma/direct.c        |  2 +-
>   kernel/dma/pool.c          | 76 +++++++++++++++++++++++++++-----------
>   3 files changed, 56 insertions(+), 23 deletions(-)
>