Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1831710ybv; Thu, 6 Feb 2020 10:34:07 -0800 (PST) X-Google-Smtp-Source: APXvYqxX9ZKRlbAuEdm7S3GzRAWz1e1z4ozWsCU8FuabznNQEisMxU9RE8YxHH+fzuWLD0bJzvkm X-Received: by 2002:aca:d4ca:: with SMTP id l193mr8011689oig.133.1581014047498; Thu, 06 Feb 2020 10:34:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581014047; cv=none; d=google.com; s=arc-20160816; b=sd2utWbtCxVNcZoGxf3kS+uAmjOF6j3+t7oyBRzKRTmNxs6aI7P7/fjm0y84iI+PJe zsGHhDkDCHwzLVZfTr1NMHC3Nu0rYCxqZaz2mEY0hIifMZPc0YxLT8jejtLtx8mEZA5d mQJCaU5nOj9P0/gLyQdULX9b089vhG3F0VWNt56YGexyVHN56j6Xf2KL+A6bCPcbjYiy qOfD4GjSAZ3+VdaK4J4zxjMB7blv2KUhPq+tcAPK8weXmlPA/7YDyq+fzigWir+QU+bP FvElpIBTNfwuyf4L2b33acIOz8TjPdcwV8XZe1MjqEngck3Xk9uev8LGJny1Ztlu5Nus ugUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=eo58tkWzFG+QPveuoUYzk/xbxuvYMBHe+JEnvPAZ8SM=; b=lSOseeWPvbtHlWPzUJITbS7DOY4Y0RWSFMfxGWifR15o0bAshA3OW9nn4Y58BLOdyJ aCClOWXs9NJ5EX1eyERZBJ6THWXpzdUH6T67HvBFLBTngoOLPbtGUjEWQiF6X2Z+PEIq MZbx32A0zNGkOTaxnuca0Fm92kkJzvhq2oBWBf1VOzxm8SjZrkXKrXafgA3dfi36d2G+ 3zR9e7zcTSF2HsKkJbVD2FgfnYXTeUOKNSoU9o13LerJttV6JPjIC0fvRHT5+1z17hmd 67BtkC2vqqzhKVTM+hBfO4EDZSFNNBQ0D4KXGvOavbCGxApIc55lUbuZ2c4gDlNAJ11d DFaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=C78D79JR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o15si207019otp.314.2020.02.06.10.33.50; Thu, 06 Feb 2020 10:34:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=C78D79JR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727872AbgBFScu (ORCPT + 99 others); Thu, 6 Feb 2020 13:32:50 -0500 Received: from mail-il1-f196.google.com ([209.85.166.196]:45067 "EHLO mail-il1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727358AbgBFScu (ORCPT ); Thu, 6 Feb 2020 13:32:50 -0500 Received: by mail-il1-f196.google.com with SMTP id p8so5969763iln.12 for ; Thu, 06 Feb 2020 10:32:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=eo58tkWzFG+QPveuoUYzk/xbxuvYMBHe+JEnvPAZ8SM=; b=C78D79JR83iHMAAwItqMeFqfF5QI77M9CbRJ/PUHuwKelJmXyB2Uq+2AL/wLJk3HW7 zHtgI1OKexik0fFwZH7tQUXNcV9p78bpIFM7vzfxR1Ci9JUjSc3BqjVX89L3M7a6a/bU S9Wc8qrkJITb4TgIARKEOeHpPj/L3fol7twHTJiSNKs53NssrvzxxEpygWOavTHxU6/V lLl+QqnUQdsWlB8uRUDwz3EY6Qiz4tQtRIAp3sGBr2cUkSv7P2umSXqawyizmhhoolrd u/ZgBSoJLfeIY/9yzrTHXYAaUNRddrgtP2fxDoOhYosRi0W7rd5Px9eFfZTE9blQM47r T9ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=eo58tkWzFG+QPveuoUYzk/xbxuvYMBHe+JEnvPAZ8SM=; b=m53SHvHvuD4thE/wP/wHcv1Hw7s/0+L9AFXNCcHmH7A9PKCJHlsNDBKedrewGEU4/c oc1ddISvyYcjLvQo85BNZY5vias2kLC2njfup5fCRq7QMXdw4jax7skP4uG/YLN9ucO0 t2cGBRpuYytMPowpndjjpk/4UVnjKle2yWUQKAnjypEW/AuQ+Bw97mI47fSc/NknBMWY 4Vsfqiym+EUjG3MtpCWrMUvReqfp4epHora+3FUW4nURZBFEr5Utl043mxzoKmgRemTM UIQB1xkPKz7LGTVUwO9Xo9a5lCf6c7C3F4vnts+b55FieeWlOIckazErDoGxFhkfYC/o sHgA== X-Gm-Message-State: APjAAAVV+C1ooulQGi1Z8AV+DdeC8heHFEQKobH46nul0AG3xxA6Ldu1 SizYiFmliyqe8XDLgqwL9+zJ58YEv6MubCA0yZijahE+ X-Received: by 2002:a92:4a0a:: with SMTP id m10mr5427074ilf.84.1581013969410; Thu, 06 Feb 2020 10:32:49 -0800 (PST) MIME-Version: 1.0 References: <20200205105955.28143-1-kraxel@redhat.com> <20200205105955.28143-3-kraxel@redhat.com> <20200206064338.badm6ijgyo2p5mmc@sirius.home.kraxel.org> In-Reply-To: <20200206064338.badm6ijgyo2p5mmc@sirius.home.kraxel.org> From: Chia-I Wu Date: Thu, 6 Feb 2020 10:32:38 -0800 Message-ID: Subject: Re: [PATCH 2/4] drm/virtio: resource teardown tweaks To: Gerd Hoffmann Cc: ML dri-devel , Gurchetan Singh , David Airlie , Daniel Vetter , "open list:VIRTIO GPU DRIVER" , open list Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 5, 2020 at 10:43 PM Gerd Hoffmann wrote: > > > > - > > > - drm_gem_shmem_free_object(obj); > > > + if (bo->created) { > > > + virtio_gpu_cmd_unref_resource(vgdev, bo); > > > + /* completion handler calls virtio_gpu_cleanup_object() */ > > nitpick: we don't need this comment when virtio_gpu_cmd_unref_cb is > > defined by this file and passed to virtio_gpu_cmd_unref_resource. > > I want virtio_gpu_cmd_unref_cb + virtio_gpu_cmd_unref_resource being > placed next to each other so it is easier to see how they work hand in > hand. > > > I happen to be looking at our error handling paths. I think we want > > virtio_gpu_queue_fenced_ctrl_buffer to call vbuf->resp_cb on errors. > > /me was thinking about that too. Yes, we will need either that, > or a separate vbuf->error_cb callback. That'll be another patch > though. Or the new virtio_gpu_queue_ctrl_sgs can return errors rather than eating errors. Yeah, that should be another patch. > > > > + /* > > > + * We are in the release callback and do NOT want refcount > > > + * bo, so do NOT use virtio_gpu_array_add_obj(). > > > + */ > > > + vbuf->objs = virtio_gpu_array_alloc(1); > > > + vbuf->objs->objs[0] = &bo->base.base > > This is an abuse of obj array. Add "void *private_data;" to > > virtio_gpu_vbuffer and use that maybe? > > I'd name that *cb_data, but yes, that makes sense. Sounds great. > > cheers, > Gerd >