mbox series

[0/8] panfrost: Fixes for 5.4

Message ID 20191129135908.2439529-1-boris.brezillon@collabora.com (mailing list archive)
Headers show
Series panfrost: Fixes for 5.4 | expand

Message

Boris Brezillon Nov. 29, 2019, 1:59 p.m. UTC
Hello,

I've recently come to test a 5.4 kernel on a rk3288 platform (T760),
and, as reported by many people on #panfrost, I've hit a page-fault
storm when running various GL apps.

This series tries to address the problems I could spot during my debug
session, with patch 7 being the most invasive change. I wish I
could find an easier way to fix the "BO mapping teared down while GPU
jobs referencing it are in-flight" problem, as I don't like tagging
complex changes for stable, but this is the best I could come up with.

Let me know if you have better ideas.

Regards,

Boris

Boris Brezillon (8):
  drm/panfrost: Make panfrost_job_run() return an ERR_PTR() instead of
    NULL
  drm/panfrost: Fix a race in panfrost_ioctl_madvise()
  drm/panfrost: Fix a BO leak in panfrost_ioctl_mmap_bo()
  drm/panfrost: Fix a race in panfrost_gem_free_object()
  drm/panfrost: Open/close the perfcnt BO
  drm/panfrost: Make sure imported/exported BOs are never purged
  drm/panfrost: Add the panfrost_gem_mapping concept
  drm/panfrost: Make sure the shrinker does not reclaim referenced BOs

 drivers/gpu/drm/panfrost/panfrost_drv.c       | 132 +++++++++++--
 drivers/gpu/drm/panfrost/panfrost_gem.c       | 184 +++++++++++++++---
 drivers/gpu/drm/panfrost/panfrost_gem.h       |  51 ++++-
 .../gpu/drm/panfrost/panfrost_gem_shrinker.c  |   6 +-
 drivers/gpu/drm/panfrost/panfrost_job.c       |  22 ++-
 drivers/gpu/drm/panfrost/panfrost_job.h       |   1 +
 drivers/gpu/drm/panfrost/panfrost_mmu.c       |  61 +++---
 drivers/gpu/drm/panfrost/panfrost_mmu.h       |   6 +-
 drivers/gpu/drm/panfrost/panfrost_perfcnt.c   |  49 +++--
 drivers/gpu/drm/panfrost/panfrost_perfcnt.h   |   2 +-
 10 files changed, 416 insertions(+), 98 deletions(-)

Comments

Alyssa Rosenzweig Nov. 29, 2019, 2:23 p.m. UTC | #1
Series acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>

On Fri, Nov 29, 2019 at 02:59:00PM +0100, Boris Brezillon wrote:
> Hello,
> 
> I've recently come to test a 5.4 kernel on a rk3288 platform (T760),
> and, as reported by many people on #panfrost, I've hit a page-fault
> storm when running various GL apps.
> 
> This series tries to address the problems I could spot during my debug
> session, with patch 7 being the most invasive change. I wish I
> could find an easier way to fix the "BO mapping teared down while GPU
> jobs referencing it are in-flight" problem, as I don't like tagging
> complex changes for stable, but this is the best I could come up with.
> 
> Let me know if you have better ideas.
> 
> Regards,
> 
> Boris
> 
> Boris Brezillon (8):
>   drm/panfrost: Make panfrost_job_run() return an ERR_PTR() instead of
>     NULL
>   drm/panfrost: Fix a race in panfrost_ioctl_madvise()
>   drm/panfrost: Fix a BO leak in panfrost_ioctl_mmap_bo()
>   drm/panfrost: Fix a race in panfrost_gem_free_object()
>   drm/panfrost: Open/close the perfcnt BO
>   drm/panfrost: Make sure imported/exported BOs are never purged
>   drm/panfrost: Add the panfrost_gem_mapping concept
>   drm/panfrost: Make sure the shrinker does not reclaim referenced BOs
> 
>  drivers/gpu/drm/panfrost/panfrost_drv.c       | 132 +++++++++++--
>  drivers/gpu/drm/panfrost/panfrost_gem.c       | 184 +++++++++++++++---
>  drivers/gpu/drm/panfrost/panfrost_gem.h       |  51 ++++-
>  .../gpu/drm/panfrost/panfrost_gem_shrinker.c  |   6 +-
>  drivers/gpu/drm/panfrost/panfrost_job.c       |  22 ++-
>  drivers/gpu/drm/panfrost/panfrost_job.h       |   1 +
>  drivers/gpu/drm/panfrost/panfrost_mmu.c       |  61 +++---
>  drivers/gpu/drm/panfrost/panfrost_mmu.h       |   6 +-
>  drivers/gpu/drm/panfrost/panfrost_perfcnt.c   |  49 +++--
>  drivers/gpu/drm/panfrost/panfrost_perfcnt.h   |   2 +-
>  10 files changed, 416 insertions(+), 98 deletions(-)
> 
> -- 
> 2.23.0
>
Rob Herring Dec. 6, 2019, 5:16 p.m. UTC | #2
On Fri, Nov 29, 2019 at 7:59 AM Boris Brezillon
<boris.brezillon@collabora.com> wrote:
>
> Hello,
>
> I've recently come to test a 5.4 kernel on a rk3288 platform (T760),
> and, as reported by many people on #panfrost, I've hit a page-fault
> storm when running various GL apps.
>
> This series tries to address the problems I could spot during my debug
> session, with patch 7 being the most invasive change. I wish I
> could find an easier way to fix the "BO mapping teared down while GPU
> jobs referencing it are in-flight" problem, as I don't like tagging
> complex changes for stable, but this is the best I could come up with.
>
> Let me know if you have better ideas.
>
> Regards,
>
> Boris
>
> Boris Brezillon (8):
>   drm/panfrost: Make panfrost_job_run() return an ERR_PTR() instead of
>     NULL
>   drm/panfrost: Fix a race in panfrost_ioctl_madvise()
>   drm/panfrost: Fix a BO leak in panfrost_ioctl_mmap_bo()
>   drm/panfrost: Fix a race in panfrost_gem_free_object()
>   drm/panfrost: Open/close the perfcnt BO
>   drm/panfrost: Make sure imported/exported BOs are never purged
>   drm/panfrost: Add the panfrost_gem_mapping concept
>   drm/panfrost: Make sure the shrinker does not reclaim referenced BOs

I've applied patches 2-5.

Rob