[PATCH] drm: More debug info for fb leaks in mode_config_cleanup

Thomas Hellstrom thellstrom at vmware.com
Wed Apr 25 08:15:40 UTC 2018


On 04/25/2018 08:49 AM, Daniel Vetter wrote:
> On Wed, Apr 25, 2018 at 8:42 AM, Thomas Hellstrom <thellstrom at vmware.com> wrote:
>> Hi,
>>
>> On 12/07/2017 03:49 PM, Daniel Vetter wrote:
>>> We're spotting this very rarely in CI, but have no idea. Let's add
>>> more debug info about what's going on here.
>>>
>>> References: https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.freedesktop.org_show-5Fbug.cgi-3Fid-3D102707&d=DwIFaQ&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=HsUZYQaNMPVelJaUQrEYq1PTFDeRDixr0sJ9o5o5NNA&s=Fy9UT786mIt80SvkAKRdBU4Dy-_cr4ita_RmTA4Lqyk&e=
>>> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
>>> ---
>>>    drivers/gpu/drm/drm_mode_config.c | 3 +++
>>>    1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/drm_mode_config.c
>>> b/drivers/gpu/drm/drm_mode_config.c
>>> index cc78b3d9e5e4..6ffe952142e6 100644
>>> --- a/drivers/gpu/drm/drm_mode_config.c
>>> +++ b/drivers/gpu/drm/drm_mode_config.c
>>> @@ -469,6 +469,9 @@ void drm_mode_config_cleanup(struct drm_device *dev)
>>>           */
>>>          WARN_ON(!list_empty(&dev->mode_config.fb_list));
>>>          list_for_each_entry_safe(fb, fbt, &dev->mode_config.fb_list, head)
>>> {
>>> +               struct drm_printer p = drm_debug_printer("[leaked fb]");
>>> +               drm_printf(&p, "framebuffer[%u]:\n", fb->base.id);
>>> +               drm_framebuffer_print_info(&p, 1, fb);
>>>                  drm_framebuffer_free(&fb->base.refcount);
>>>          }
>>>
>>
>> Did we ever get to the bottom of what's causing those framebuffer leaks?
>> We've seen sporadic framebuffer leaks when transitioning between one and two
>> screens, but can't seem to repro with the latest drm-fixes branch?
>
>
> claims the fixes, but that was incomplete. Ville's recent work to
> restructure the legacy fb refcounting is meant to plug this leak once
> and for all. Given that vmwgfx also has some custom code (for the
> fbdev stuff) could very well be that you have such issues too. See:

Yes, hmm, the above doesn't fix our particular issue. I'll keep digging.

Thanks,
Thomas



More information about the dri-devel mailing list