From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 995C5C10F11 for ; Tue, 23 Apr 2019 00:12:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5A6EE20685 for ; Tue, 23 Apr 2019 00:12:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="fwqHDo1W" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730886AbfDWAMo (ORCPT ); Mon, 22 Apr 2019 20:12:44 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:42818 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729479AbfDWAMn (ORCPT ); Mon, 22 Apr 2019 20:12:43 -0400 Received: by mail-lj1-f195.google.com with SMTP id x13so1433078ljd.9 for ; Mon, 22 Apr 2019 17:12:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UUmqCcfPZLaQU2X8LOPqoTWw6XtkN6uP70+krzqW0TE=; b=fwqHDo1WqONM6UbJ6zB5Xc0dfmDyeRii2GPY+aFKz2Gh+XG9yq3SfFSrB84aNDSjuk lu/TE5uNc2QzRahhEgOr4TnvvdDYv4ZM/nPYBeyOB0DMllP3875/DGAOn4dSVryyBNmg V+Jbh445PrI0DDN7Vv0zfR0aRmInr4KgYfu+M= 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=UUmqCcfPZLaQU2X8LOPqoTWw6XtkN6uP70+krzqW0TE=; b=sv/mUtuAapHJMr+8S6zTQNX5kdXGluOdK4+ohS6w/TMJxJoVC59C6JFEFCtlTAe6zD 3T70MynA45cWl7baIFIDhz2RivjDz9TXxYXWeUQhQaAk7jv0IAVDr87HaZKgUBY0QHn0 oelKB1Bd4w2lKvctGUfbxdSdQVcij21Y2wO1JPtXx0EKWfK3dcLHsHaxIuqWST4ifhK5 bt5aRGdUZfWS1vYsjG13BSIJ5PWDgnXdRo2owoHYIPl6Wus3BrQhJ6oMdbXQhi/EqE6j TbcivgMIJj9nAqa+TjRMf7mg6F+6fJHjBDpeH4p+iY1+GD7ZTudlCzN6TnhiMJAWCtHu zUDQ== X-Gm-Message-State: APjAAAWVIUHJjYDxPlD7aB0dAjtq4BX/P7MJDIcQG21x8A9h/vaTnzRS Q5yq4GJZdfXZ5a/Y7XDuG0rfYwVL9q0= X-Google-Smtp-Source: APXvYqycW5idVOgcIXRcnz5YOR26M+LmkuypblxEVYpifL9g2ioCm5jNeqTdAChJHdsLwr5xfBHSJQ== X-Received: by 2002:a2e:4a1a:: with SMTP id x26mr10511102lja.49.1555978360578; Mon, 22 Apr 2019 17:12:40 -0700 (PDT) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com. [209.85.208.181]) by smtp.gmail.com with ESMTPSA id n4sm3282165lfe.15.2019.04.22.17.12.38 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 17:12:39 -0700 (PDT) Received: by mail-lj1-f181.google.com with SMTP id f18so11771676lja.10 for ; Mon, 22 Apr 2019 17:12:38 -0700 (PDT) X-Received: by 2002:a2e:9811:: with SMTP id a17mr12157196ljj.96.1555978357844; Mon, 22 Apr 2019 17:12:37 -0700 (PDT) MIME-Version: 1.0 References: <20190410114227.25846-1-kraxel@redhat.com> <20190410114227.25846-4-kraxel@redhat.com> <20190411050322.mfxo5mrwwzajlz3h@sirius.home.kraxel.org> <20190412054924.dvh6bfxfrbgvezxr@sirius.home.kraxel.org> <20190417095750.lre3xrg4dlgskfjg@sirius.home.kraxel.org> In-Reply-To: <20190417095750.lre3xrg4dlgskfjg@sirius.home.kraxel.org> From: Gurchetan Singh Date: Mon, 22 Apr 2019 17:12:26 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 3/3] virtio-gpu api: VIRTIO_GPU_F_RESSOURCE_V2 To: Gerd Hoffmann Cc: Chia-I Wu , Tomeu Vizoso , "Michael S. Tsirkin" , David Airlie , Jason Wang , open list , ML dri-devel , "open list:VIRTIO CORE, NET AND BLOCK DRIVERS" , David Airlie , virtio@lists.oasis-open.org 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, Apr 17, 2019 at 2:57 AM Gerd Hoffmann wrote: > > On Fri, Apr 12, 2019 at 04:34:20PM -0700, Chia-I Wu wrote: > > Hi, > > > > I am still new to virgl, and missed the last round of discussion about > > resource_create_v2. > > > > From the discussion below, semantically resource_create_v2 creates a host > > resource object _without_ any storage; memory_create creates a host memory > > object which provides the storage. Is that correct? > > Right now all resource_create_* variants create a resource object with > host storage. memory_create creates guest storage, and > resource_attach_memory binds things together. Then you have to transfer > the data. > > Hmm, maybe we need a flag indicating that host storage is not needed, > for resources where we want establish some kind of shared mapping later > on. > > > Do we expect these new commands to be supported by OpenGL, which does not > > separate resources and memories? > > Well, for opengl you need a 1:1 relationship between memory region and > resource. > > > > Yes, even though it is not clear yet how we are going to handle > > > host-allocated buffers in the vhost-user case ... > > > > This might be another dumb question, but is this only an issue for > > vhost-user(-gpu) case? What mechanisms are used to map host dma-buf into > > the guest address space? > > qemu can change the address space, that includes mmap()ing stuff there. > An external vhost-user process can't do this, it can only read the > address space layout, and read/write from/to guest memory. > > > But one needs to create the resource first to know which memory types can > > be attached to it. I think the metadata needs to be returned with > > resource_create_v2. > > There is a resource_info reply for that. The memory type should probably be in resource_create_v2, not in the reply. The metadata will be different based on the memory heap it's allocated from. Also, not all heaps need to be exposed to the guest kernel. For example, device local memory in Vulkan could be un-mappable. In fact, for resources that are not host visible we might be better off sidestepping the kernel altogether and tracking allocation in guest userspace. Here is an example of memory types the guest kernel may be interested in (based on i965): Type 0 --> DEVICE_LOCAL_BIT | HOST_VISIBLE_BIT | HOST_COHERENT_BIT | HOST_CACHED_BIT | RENDERER_ALLOCATED (Vulkan) Type 1 --> HOST_VISIBLE_BIT | HOST_COHERENT_BIT | EXTERNAL_ALLOCATED (gbm write combine) Type 2 --> HOST_VISIBLE_BIT | HOST_COHERENT_BIT | GUEST_ALLOCATED (guest allocated memory, which I assume is also write combine) Type 3 --> HOST_VISIBLE_BIT | HOST_CACHED | EXTERNAL_ALLOCATED (gbm cached memory) > > > That should be good enough. But by returning alignments, we can minimize > > the gaps when attaching multiple resources, especially when the resources > > are only used by GPU. > > We can add alignments to the resource_info reply. > > cheers, > Gerd > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gurchetan Singh Subject: Re: [PATCH 3/3] virtio-gpu api: VIRTIO_GPU_F_RESSOURCE_V2 Date: Mon, 22 Apr 2019 17:12:26 -0700 Message-ID: References: <20190410114227.25846-1-kraxel@redhat.com> <20190410114227.25846-4-kraxel@redhat.com> <20190411050322.mfxo5mrwwzajlz3h@sirius.home.kraxel.org> <20190412054924.dvh6bfxfrbgvezxr@sirius.home.kraxel.org> <20190417095750.lre3xrg4dlgskfjg@sirius.home.kraxel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 146CC89169 for ; Tue, 23 Apr 2019 00:12:42 +0000 (UTC) Received: by mail-lj1-x241.google.com with SMTP id x13so1433073ljd.9 for ; Mon, 22 Apr 2019 17:12:41 -0700 (PDT) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id k25sm2970626ljc.14.2019.04.22.17.12.38 for (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 17:12:39 -0700 (PDT) Received: by mail-lj1-f178.google.com with SMTP id p14so11790236ljg.5 for ; Mon, 22 Apr 2019 17:12:38 -0700 (PDT) In-Reply-To: <20190417095750.lre3xrg4dlgskfjg@sirius.home.kraxel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gerd Hoffmann Cc: Tomeu Vizoso , "Michael S. Tsirkin" , David Airlie , Jason Wang , open list , ML dri-devel , "open list:VIRTIO CORE, NET AND BLOCK DRIVERS" , David Airlie , virtio@lists.oasis-open.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgMjo1NyBBTSBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVk aGF0LmNvbT4gd3JvdGU6Cj4KPiBPbiBGcmksIEFwciAxMiwgMjAxOSBhdCAwNDozNDoyMFBNIC0w NzAwLCBDaGlhLUkgV3Ugd3JvdGU6Cj4gPiBIaSwKPiA+Cj4gPiBJIGFtIHN0aWxsIG5ldyB0byB2 aXJnbCwgYW5kIG1pc3NlZCB0aGUgbGFzdCByb3VuZCBvZiBkaXNjdXNzaW9uIGFib3V0Cj4gPiBy ZXNvdXJjZV9jcmVhdGVfdjIuCj4gPgo+ID4gRnJvbSB0aGUgZGlzY3Vzc2lvbiBiZWxvdywgc2Vt YW50aWNhbGx5IHJlc291cmNlX2NyZWF0ZV92MiBjcmVhdGVzIGEgaG9zdAo+ID4gcmVzb3VyY2Ug b2JqZWN0IF93aXRob3V0XyBhbnkgc3RvcmFnZTsgbWVtb3J5X2NyZWF0ZSBjcmVhdGVzIGEgaG9z dCBtZW1vcnkKPiA+IG9iamVjdCB3aGljaCBwcm92aWRlcyB0aGUgc3RvcmFnZS4gIElzIHRoYXQg Y29ycmVjdD8KPgo+IFJpZ2h0IG5vdyBhbGwgcmVzb3VyY2VfY3JlYXRlXyogdmFyaWFudHMgY3Jl YXRlIGEgcmVzb3VyY2Ugb2JqZWN0IHdpdGgKPiBob3N0IHN0b3JhZ2UuICBtZW1vcnlfY3JlYXRl IGNyZWF0ZXMgZ3Vlc3Qgc3RvcmFnZSwgYW5kCj4gcmVzb3VyY2VfYXR0YWNoX21lbW9yeSBiaW5k cyB0aGluZ3MgdG9nZXRoZXIuICBUaGVuIHlvdSBoYXZlIHRvIHRyYW5zZmVyCj4gdGhlIGRhdGEu Cj4KPiBIbW0sIG1heWJlIHdlIG5lZWQgYSBmbGFnIGluZGljYXRpbmcgdGhhdCBob3N0IHN0b3Jh Z2UgaXMgbm90IG5lZWRlZCwKPiBmb3IgcmVzb3VyY2VzIHdoZXJlIHdlIHdhbnQgZXN0YWJsaXNo IHNvbWUga2luZCBvZiBzaGFyZWQgbWFwcGluZyBsYXRlcgo+IG9uLgo+Cj4gPiBEbyB3ZSBleHBl Y3QgdGhlc2UgbmV3IGNvbW1hbmRzIHRvIGJlIHN1cHBvcnRlZCBieSBPcGVuR0wsIHdoaWNoIGRv ZXMgbm90Cj4gPiBzZXBhcmF0ZSByZXNvdXJjZXMgYW5kIG1lbW9yaWVzPwo+Cj4gV2VsbCwgZm9y IG9wZW5nbCB5b3UgbmVlZCBhIDE6MSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtZW1vcnkgcmVnaW9u IGFuZAo+IHJlc291cmNlLgo+Cj4gPiA+IFllcywgZXZlbiB0aG91Z2ggaXQgaXMgbm90IGNsZWFy IHlldCBob3cgd2UgYXJlIGdvaW5nIHRvIGhhbmRsZQo+ID4gPiBob3N0LWFsbG9jYXRlZCBidWZm ZXJzIGluIHRoZSB2aG9zdC11c2VyIGNhc2UgLi4uCj4gPgo+ID4gVGhpcyBtaWdodCBiZSBhbm90 aGVyIGR1bWIgcXVlc3Rpb24sIGJ1dCBpcyB0aGlzIG9ubHkgYW4gaXNzdWUgZm9yCj4gPiB2aG9z dC11c2VyKC1ncHUpIGNhc2U/ICBXaGF0IG1lY2hhbmlzbXMgYXJlIHVzZWQgdG8gbWFwIGhvc3Qg ZG1hLWJ1ZiBpbnRvCj4gPiB0aGUgZ3Vlc3QgYWRkcmVzcyBzcGFjZT8KPgo+IHFlbXUgY2FuIGNo YW5nZSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBpbmNsdWRlcyBtbWFwKClpbmcgc3R1ZmYgdGhl cmUuCj4gQW4gZXh0ZXJuYWwgdmhvc3QtdXNlciBwcm9jZXNzIGNhbid0IGRvIHRoaXMsIGl0IGNh biBvbmx5IHJlYWQgdGhlCj4gYWRkcmVzcyBzcGFjZSBsYXlvdXQsIGFuZCByZWFkL3dyaXRlIGZy b20vdG8gZ3Vlc3QgbWVtb3J5Lgo+Cj4gPiBCdXQgb25lIG5lZWRzIHRvIGNyZWF0ZSB0aGUgcmVz b3VyY2UgZmlyc3QgdG8ga25vdyB3aGljaCBtZW1vcnkgdHlwZXMgY2FuCj4gPiBiZSBhdHRhY2hl ZCB0byBpdC4gIEkgdGhpbmsgdGhlIG1ldGFkYXRhIG5lZWRzIHRvIGJlIHJldHVybmVkIHdpdGgK PiA+IHJlc291cmNlX2NyZWF0ZV92Mi4KPgo+IFRoZXJlIGlzIGEgcmVzb3VyY2VfaW5mbyByZXBs eSBmb3IgdGhhdC4KClRoZSBtZW1vcnkgdHlwZSBzaG91bGQgcHJvYmFibHkgYmUgaW4gcmVzb3Vy Y2VfY3JlYXRlX3YyLCBub3QgaW4gdGhlCnJlcGx5LiAgVGhlIG1ldGFkYXRhIHdpbGwgYmUgZGlm ZmVyZW50IGJhc2VkIG9uIHRoZSBtZW1vcnkgaGVhcCBpdCdzCmFsbG9jYXRlZCBmcm9tLgoKQWxz bywgbm90IGFsbCBoZWFwcyBuZWVkIHRvIGJlIGV4cG9zZWQgdG8gdGhlIGd1ZXN0IGtlcm5lbC4g IEZvcgpleGFtcGxlLCBkZXZpY2UgbG9jYWwgbWVtb3J5IGluIFZ1bGthbiBjb3VsZCBiZSB1bi1t YXBwYWJsZS4gIEluIGZhY3QsCmZvciByZXNvdXJjZXMgdGhhdCBhcmUgbm90IGhvc3QgdmlzaWJs ZSB3ZSBtaWdodCBiZSBiZXR0ZXIgb2ZmCnNpZGVzdGVwcGluZyB0aGUga2VybmVsIGFsdG9nZXRo ZXIgYW5kIHRyYWNraW5nIGFsbG9jYXRpb24gaW4gZ3Vlc3QKdXNlcnNwYWNlLgoKSGVyZSBpcyBh biBleGFtcGxlIG9mIG1lbW9yeSB0eXBlcyB0aGUgZ3Vlc3Qga2VybmVsIG1heSBiZSBpbnRlcmVz dGVkCmluIChiYXNlZCBvbiBpOTY1KToKClR5cGUgMCAtLT4gREVWSUNFX0xPQ0FMX0JJVCB8IEhP U1RfVklTSUJMRV9CSVQgfCBIT1NUX0NPSEVSRU5UX0JJVCB8CkhPU1RfQ0FDSEVEX0JJVCB8IFJF TkRFUkVSX0FMTE9DQVRFRCAoVnVsa2FuKQpUeXBlIDEgLS0+IEhPU1RfVklTSUJMRV9CSVQgfCBI T1NUX0NPSEVSRU5UX0JJVCB8IEVYVEVSTkFMX0FMTE9DQVRFRAooZ2JtIHdyaXRlIGNvbWJpbmUp ClR5cGUgMiAtLT4gSE9TVF9WSVNJQkxFX0JJVCB8IEhPU1RfQ09IRVJFTlRfQklUIHwgR1VFU1Rf QUxMT0NBVEVECihndWVzdCBhbGxvY2F0ZWQgbWVtb3J5LCB3aGljaCBJIGFzc3VtZSBpcyBhbHNv IHdyaXRlIGNvbWJpbmUpClR5cGUgMyAtLT4gSE9TVF9WSVNJQkxFX0JJVCB8IEhPU1RfQ0FDSEVE IHwgRVhURVJOQUxfQUxMT0NBVEVEIChnYm0KY2FjaGVkIG1lbW9yeSkKCgoKPgo+ID4gVGhhdCBz aG91bGQgYmUgZ29vZCBlbm91Z2guICBCdXQgYnkgcmV0dXJuaW5nIGFsaWdubWVudHMsIHdlIGNh biBtaW5pbWl6ZQo+ID4gdGhlIGdhcHMgd2hlbiBhdHRhY2hpbmcgbXVsdGlwbGUgcmVzb3VyY2Vz LCBlc3BlY2lhbGx5IHdoZW4gdGhlIHJlc291cmNlcwo+ID4gYXJlIG9ubHkgdXNlZCBieSBHUFUu Cj4KPiBXZSBjYW4gYWRkIGFsaWdubWVudHMgdG8gdGhlIHJlc291cmNlX2luZm8gcmVwbHkuCj4K PiBjaGVlcnMsCj4gICBHZXJkCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVs