On Thu, Jun 9, 2016 at 2:50 AM, Daniel Vetter <daniel at ffwll.ch> wrote:> On Wed, Jun 08, 2016 at 06:47:27PM +0200, Lukas Wunner wrote: >> Second iteration of my endeavour to rid nouveau, radeon and amdgpu of >> runtime pm ref leaks. >> >> Patches 1 to 8 are identical to v1. >> >> Patch 9 of v1 modified the DRM core to turn off all CRTCs on driver >> unload. Based on feedback by Daniel Vetter, I've replaced this with >> a helper to turn off all CRTCs, which is called by nouveau, radeon >> and amdgpu on unload. In other words, this is now opt-in. >> So patch 9 of v1 is replaced with new patches 9 to 12. >> >> A by-product of patch 9 is a helper which turns off a *single* CRTC. >> This is open coded in three other places in the DRM tree and patches >> 13 to 15 refactor those to use the new helper. > > Yeah I think this makes much more sense. Please poke amd/nouveau folks for > reviews/acks, then I can merge.The amdgpu, radeon, and drm patches are: Acked-by: Alex Deucher <alexander.deucher at amd.com>> -Daniel > >> >> To ease reviewing, I've pushed this series to GitHub: >> https://github.com/l1k/linux/commits/drm_runpm_fixes_v2 >> >> The discussion on v1 is archived here: >> https://lists.freedesktop.org/archives/dri-devel/2016-May/thread.html#108278 >> >> Thanks, >> >> Lukas >> >> Lukas Wunner (15): >> drm/nouveau: Don't leak runtime pm ref on driver unload >> drm/nouveau: Forbid runtime pm on driver unload >> drm/radeon: Don't leak runtime pm ref on driver unload >> drm/radeon: Don't leak runtime pm ref on driver load >> drm/radeon: Forbid runtime pm on driver unload >> drm/amdgpu: Don't leak runtime pm ref on driver unload >> drm/amdgpu: Don't leak runtime pm ref on driver load >> drm/amdgpu: Forbid runtime pm on driver unload >> drm: Add helpers to turn off CRTCs >> drm/nouveau: Turn off CRTCs on driver unload >> drm/radeon: Turn off CRTCs on driver unload >> drm/amdgpu: Turn off CRTCs on driver unload >> drm: Use helper to turn off CRTC >> drm/i2c/ch7006: Use helper to turn off CRTC >> drm/nouveau/dispnv04: Use helper to turn off CRTC >> >> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 + >> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 12 +++++-- >> drivers/gpu/drm/drm_crtc.c | 53 ++++++++++++++++++++++++++---- >> drivers/gpu/drm/i2c/ch7006_drv.c | 9 ++--- >> drivers/gpu/drm/nouveau/dispnv04/disp.c | 10 ------ >> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 9 ++--- >> drivers/gpu/drm/nouveau/nouveau_display.c | 1 + >> drivers/gpu/drm/nouveau/nouveau_drm.c | 6 +++- >> drivers/gpu/drm/radeon/radeon_device.c | 4 +++ >> drivers/gpu/drm/radeon/radeon_display.c | 1 + >> drivers/gpu/drm/radeon/radeon_kms.c | 5 ++- >> include/drm/drm_crtc.h | 2 ++ >> 12 files changed, 77 insertions(+), 36 deletions(-) >> >> -- >> 2.8.1 >> > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Tue, Jun 14, 2016 at 04:18:00PM -0400, Alex Deucher wrote:> On Thu, Jun 9, 2016 at 2:50 AM, Daniel Vetter <daniel at ffwll.ch> wrote: > > On Wed, Jun 08, 2016 at 06:47:27PM +0200, Lukas Wunner wrote: > >> Second iteration of my endeavour to rid nouveau, radeon and amdgpu of > >> runtime pm ref leaks. > >> > >> Patches 1 to 8 are identical to v1. > >> > >> Patch 9 of v1 modified the DRM core to turn off all CRTCs on driver > >> unload. Based on feedback by Daniel Vetter, I've replaced this with > >> a helper to turn off all CRTCs, which is called by nouveau, radeon > >> and amdgpu on unload. In other words, this is now opt-in. > >> So patch 9 of v1 is replaced with new patches 9 to 12. > >> > >> A by-product of patch 9 is a helper which turns off a *single* CRTC. > >> This is open coded in three other places in the DRM tree and patches > >> 13 to 15 refactor those to use the new helper. > > > > Yeah I think this makes much more sense. Please poke amd/nouveau folks for > > reviews/acks, then I can merge. > > The amdgpu, radeon, and drm patches are: > Acked-by: Alex Deucher <alexander.deucher at amd.com>Great, thank you. That means all patches are either acked or reviewed: * Patches 1, 2, 10 and 15 are Acked-by: Ben Skeggs <bskeggs at redhat.com> Message-ID: <b4e3a8a6-cb44-80bf-8834-419afc2d1cb4 at gmail.com> Link: https://lists.freedesktop.org/archives/nouveau/2016-June/025350.html * Patches 3 - 9 and 11 - 13 are Acked-by: Alex Deucher <alexander.deucher at amd.com> Message-ID: <CADnq5_NENZukwJg-CACQ-djWsP4e299gnr4aWrEJkdcVMeaZWA at mail.gmail.com> Link: https://lists.freedesktop.org/archives/dri-devel/2016-June/110876.html * Patch 14 is Reviewed-by: Francisco Jerez <currojerez at riseup.net> Message-ID: <87ziqrtml5.fsf at riseup.net> Link: https://lists.freedesktop.org/archives/dri-devel/2016-June/110588.html Dave, Daniel, could one of you pick this up? I've pushed another branch to GitHub which is amended with all the Acked-by and Reviewed-by tags. It's also rebased on latest drm-next. Otherwise this is identical to what I've posted. So in case you don't want to apply all tags manually, you can cherry-pick from or merge this branch (barring any objections of course): https://github.com/l1k/linux/commits/drm_runpm_fixes_v2_acked Thanks everyone! Lukas
Daniel Vetter
2016-Jun-15 15:11 UTC
[Nouveau] [PATCH v2 00/15] Runtime pm ref leak bonanza
On Wed, Jun 15, 2016 at 01:37:35PM +0200, Lukas Wunner wrote:> On Tue, Jun 14, 2016 at 04:18:00PM -0400, Alex Deucher wrote: > > On Thu, Jun 9, 2016 at 2:50 AM, Daniel Vetter <daniel at ffwll.ch> wrote: > > > On Wed, Jun 08, 2016 at 06:47:27PM +0200, Lukas Wunner wrote: > > >> Second iteration of my endeavour to rid nouveau, radeon and amdgpu of > > >> runtime pm ref leaks. > > >> > > >> Patches 1 to 8 are identical to v1. > > >> > > >> Patch 9 of v1 modified the DRM core to turn off all CRTCs on driver > > >> unload. Based on feedback by Daniel Vetter, I've replaced this with > > >> a helper to turn off all CRTCs, which is called by nouveau, radeon > > >> and amdgpu on unload. In other words, this is now opt-in. > > >> So patch 9 of v1 is replaced with new patches 9 to 12. > > >> > > >> A by-product of patch 9 is a helper which turns off a *single* CRTC. > > >> This is open coded in three other places in the DRM tree and patches > > >> 13 to 15 refactor those to use the new helper. > > > > > > Yeah I think this makes much more sense. Please poke amd/nouveau folks for > > > reviews/acks, then I can merge. > > > > The amdgpu, radeon, and drm patches are: > > Acked-by: Alex Deucher <alexander.deucher at amd.com> > > Great, thank you. That means all patches are either acked or reviewed: > > * Patches 1, 2, 10 and 15 are > Acked-by: Ben Skeggs <bskeggs at redhat.com> > Message-ID: <b4e3a8a6-cb44-80bf-8834-419afc2d1cb4 at gmail.com> > Link: https://lists.freedesktop.org/archives/nouveau/2016-June/025350.html > > * Patches 3 - 9 and 11 - 13 are > Acked-by: Alex Deucher <alexander.deucher at amd.com> > Message-ID: <CADnq5_NENZukwJg-CACQ-djWsP4e299gnr4aWrEJkdcVMeaZWA at mail.gmail.com> > Link: https://lists.freedesktop.org/archives/dri-devel/2016-June/110876.html > > * Patch 14 is > Reviewed-by: Francisco Jerez <currojerez at riseup.net> > Message-ID: <87ziqrtml5.fsf at riseup.net> > Link: https://lists.freedesktop.org/archives/dri-devel/2016-June/110588.html > > > Dave, Daniel, could one of you pick this up? > > I've pushed another branch to GitHub which is amended with all the > Acked-by and Reviewed-by tags. It's also rebased on latest drm-next. > Otherwise this is identical to what I've posted. So in case you don't > want to apply all tags manually, you can cherry-pick from or merge > this branch (barring any objections of course): > https://github.com/l1k/linux/commits/drm_runpm_fixes_v2_acked > > Thanks everyone!Yeah will pick up later this week, right now I have a big drm-misc pull that's pending. Would like to get that landed first. Please ping me if your patches haven't landed in drm-misc by next week. Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch