Re: [PATCH v6 14/18] drm/virtio: rework virtio_gpu_transfer_from_host_ioctl fencing

From: Chia-I Wu
Date: Thu Jul 04 2019 - 14:56:12 EST


On Thu, Jul 4, 2019 at 4:48 AM Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote:
>
> On Wed, Jul 03, 2019 at 01:05:12PM -0700, Chia-I Wu wrote:
> > On Tue, Jul 2, 2019 at 7:19 AM Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote:
> > >
> > > Switch to the virtio_gpu_array_* helper workflow.
> > (just repeating my question on patch 6)
> >
> > Does this fix the obj refcount issue? When was the issue introduced?
>
> obj refcount should be fine in both old and new code.
>
> old code:
> drm_gem_object_lookup
> drm_gem_object_put_unlocked
>
> new code:
> virtio_gpu_array_from_handles
> virtio_gpu_array_put_free (in virtio_gpu_dequeue_ctrl_func).
>
> Or did I miss something?
In the old code, drm_gem_object_put_unlocked is called before the vbuf
using the object is retired. Isn't that what object array wants to
fix?

We get away with that because the host only sees hw_res_handles, and
executes the commands in order.

Maybe it was me who missed something..?

>
> cheers,
> Gerd
>