Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp862973ybv; Thu, 13 Feb 2020 10:55:23 -0800 (PST) X-Google-Smtp-Source: APXvYqw6ecNbHpqJBTaIb5//E4iMX2ZUhgvJYIRKIZl2NgBQQYWSMqy4kYJsuL8Mt3l2mwrPaFga X-Received: by 2002:a05:6808:64e:: with SMTP id z14mr3747973oih.79.1581620123835; Thu, 13 Feb 2020 10:55:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581620123; cv=none; d=google.com; s=arc-20160816; b=A0Pd/AUtRKalS2l61GAXtfw+ft//d262AV9/RHljrtMzA3B9nbbhuhhJNtdIOCiKwT oLN/xESxG4Imx4l3yL9jfZMVZzEZz2btIX10+mXZ/jJ5AnNa3KmriIIaqpFndlBjiImR mtuIrTyFXkM4vpJGUY7aiRixODWhhLY2vw3fQqNz4rp5dtUooqA8pHjt8iZ37pCIKrxu gu1Kh02+TYFc80G4FMn2xWymhQtg5txeN4wG7S7PB/vsYoke3ILimHO2FOFq7x+NThi1 BxjYkua0oJDrK3tfrMQ8kgYbVrnHVh/lIlS0UFqFySqQslgQmn1lnXeGrVbRyNXRKSQ3 oCLQ== 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=bRoElX6JuGSJIj1nzDEkGjFX2yatSmfvyb68/4mK0og=; b=rci4ZB9cn/fKpLLWl5wOAc161AV6iDnK9nYSP7mGI32aopC9R6xCIx6olITVTf5uWf +0lP3CamVVBpTDEpv+nODVnniwRcjTQJNSqFDFCB6sauu9QYxLtAqA2mC0NF1V+nyxr+ YYx0OUg3w6SLWUwHMvu06XQELkA8c5e5TJ/qb649uRxDdDvp6ARf5a/bZ00GSh6StoQs DwtbCDhQDa1vSR0rH80K2O7C9fS3OZOkZorJNCaoBsP9uDRLxONts9A96HaVApsw3rvr QKL4OHx2dCxm2tbiHnWAN/ekBpcvfiKNhS0R4eS3kYA2HpdsxLRyXn1EMZxHZRGmIhTi 1YJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KuFXWeFq; 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 r1si1380670otn.150.2020.02.13.10.55.10; Thu, 13 Feb 2020 10:55:23 -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=KuFXWeFq; 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 S1728062AbgBMSye (ORCPT + 99 others); Thu, 13 Feb 2020 13:54:34 -0500 Received: from mail-il1-f195.google.com ([209.85.166.195]:40379 "EHLO mail-il1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727761AbgBMSye (ORCPT ); Thu, 13 Feb 2020 13:54:34 -0500 Received: by mail-il1-f195.google.com with SMTP id i7so5894783ilr.7 for ; Thu, 13 Feb 2020 10:54:32 -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=bRoElX6JuGSJIj1nzDEkGjFX2yatSmfvyb68/4mK0og=; b=KuFXWeFq0mYsucnXtEil4E8uJ/Xi9I8NFtS2D8Nq96ybHLSqVX3cFY/M54teo+zphX 8Q+vqenQIgFsq8dmQMXw3ZmpsdTUAwPivpn+7DoDNxs33VG0bt4EL4MZs0CaLxuCCLQC BvDCnlVtrNTMZosO8DIxQVYaG1bHk04W/CfOjWw0T26357uN55rpZ+etDHcZAOfWgF3y PkKoBqpCWGE4usla6USJnXEklQP99luo5rprwn5EvvXoKO6HURlR+gMQJlQ/HNas5q7g iuefhdaHNMK9XZkv7BVrGXJNMutQvtTgtkimqb5M0PlEZbHRmiy9DPXnQohL6Qkm4NYw B8aQ== 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=bRoElX6JuGSJIj1nzDEkGjFX2yatSmfvyb68/4mK0og=; b=qLupRZJPPTw6pQT8cJWZ8DyfXqc7Ier+qxxnFO8fYKoD0jJlJISwLviby5qEvLaZTI SlHQ9JUfkjOkJCemSaeh6Kt8Jk/IKuNxZmwVIcHIT3fHn9IH60kHHRcRVmBzSuzn2vEd n9Q/dbGDCzCCh+/l2XcdcpVYGOIQBVYjomKXroLceTSsi7idV7/dO59n9WXhYZiovSI1 /nvFA7c90GKjgWl7ximtPEEMWWjOtQWREc9KTj3HSouKqGaLnHxfekUEcfUn2DFeg3Nf FqDt88RaH4E5VokylSCdl31wzlDWkkK7HlVQKTVxf8Q1JGl4JqCUG079j6gx7p+ftArL jJkQ== X-Gm-Message-State: APjAAAWR4PekDkaENofEWox94J58uyn3iwgnSoGN0gsBkxMK3Gzi9nKC 97JN8uoJE0jkerDaHxfTHseS31M1pNF7OV3xe4s= X-Received: by 2002:a92:9ac5:: with SMTP id c66mr18208254ill.232.1581620072485; Thu, 13 Feb 2020 10:54:32 -0800 (PST) MIME-Version: 1.0 References: <20200213132203.23441-1-kraxel@redhat.com> <20200213132203.23441-4-kraxel@redhat.com> In-Reply-To: <20200213132203.23441-4-kraxel@redhat.com> From: Chia-I Wu Date: Thu, 13 Feb 2020 10:54:21 -0800 Message-ID: Subject: Re: [PATCH v3 3/4] drm/virtio: batch resource creation 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 Thu, Feb 13, 2020 at 5:22 AM Gerd Hoffmann wrote: > > Move virtio_gpu_notify() to higher-level functions for > virtio_gpu_cmd_create_resource(), virtio_gpu_cmd_resource_create_3d() > and virtio_gpu_cmd_resource_attach_backing(). > > virtio_gpu_object_create() will batch commands and notify only once when > creating a resource. > > Signed-off-by: Gerd Hoffmann > --- > drivers/gpu/drm/virtio/virtgpu_object.c | 1 + > drivers/gpu/drm/virtio/virtgpu_vq.c | 3 --- > 2 files changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c b/drivers/gpu/drm/virtio/virtgpu_object.c > index 8870ee23ff2b..65d6834d3c74 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_object.c > +++ b/drivers/gpu/drm/virtio/virtgpu_object.c > @@ -224,6 +224,7 @@ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev, > return ret; The virtqueue might become full without ever being notified on errors. We should notify on errors, or better yet, virtio_gpu_queue_ctrl_sgs should notify before waiting. > } > > + virtio_gpu_notify(vgdev); > *bo_ptr = bo; > return 0; > > diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c > index 9d4ca0fafa5f..778b7acf2f7f 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_vq.c > +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c > @@ -514,7 +514,6 @@ void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, > cmd_p->height = cpu_to_le32(params->height); > > virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); > - virtio_gpu_notify(vgdev); > bo->created = true; > } > > @@ -643,7 +642,6 @@ virtio_gpu_cmd_resource_attach_backing(struct virtio_gpu_device *vgdev, > vbuf->data_size = sizeof(*ents) * nents; > > virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); > - virtio_gpu_notify(vgdev); > } > > static void virtio_gpu_cmd_get_display_info_cb(struct virtio_gpu_device *vgdev, > @@ -1010,7 +1008,6 @@ virtio_gpu_cmd_resource_create_3d(struct virtio_gpu_device *vgdev, > cmd_p->flags = cpu_to_le32(params->flags); > > virtio_gpu_queue_fenced_ctrl_buffer(vgdev, vbuf, fence); > - virtio_gpu_notify(vgdev); > > bo->created = true; > } > -- > 2.18.2 >