Messages in this thread | | | Subject | Re: [PATCH 3/3] drm/vc4: Don't liberate the binner BO at runtime suspend | From | Paul Kocialkowski <> | Date | Wed, 20 Mar 2019 16:17:32 +0100 |
| |
Hi,
Le samedi 16 mars 2019 à 11:58 -0700, Eric Anholt a écrit : > Paul Kocialkowski <paul.kocialkowski@bootlin.com> writes: > > > The binner BO is a pre-requisite to GPU operations, so we must ensure > > that it is always allocated when the GPU is in use. > > > > Because the buffer is allocated from the same pool as other GPU buffers, > > we might run into a situation where we are out of memory at runtime > > resume. This causes the binner BO allocation to fail and results in all > > subsequent operations to fail, resulting in a major hang in userspace. > > > > Now that we allocate the buffer at firstopen and liberate it at > > lastclose, we can just keep it alive during runtime suspend. > > I think this needs to be squashed into the previous patch, as otherwise > coming from suspended, a firstopen -> resume -> render will leak a copy > of the bin BO.
Woops, you're definitely right: vc4_allocate_bin_bo won't check whether we already have allocated it or not. I'll send a new version with both patches squashed.
Cheers,
Paul
-- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com
| |