From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934295AbeBPKss (ORCPT ); Fri, 16 Feb 2018 05:48:48 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:56358 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934225AbeBPKso (ORCPT ); Fri, 16 Feb 2018 05:48:44 -0500 Date: Fri, 16 Feb 2018 11:48:40 +0100 From: Gerd Hoffmann To: Tomeu Vizoso Cc: linux-kernel@vger.kernel.org, Zach Reizner , kernel@collabora.com, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, "Michael S. Tsirkin" , David Airlie , Jason Wang , Stefan Hajnoczi Subject: Re: [PATCH v3 1/2] drm/virtio: Add window server support Message-ID: <20180216104840.wtqblyrrhwek6ox7@sirius.home.kraxel.org> References: <20180201163623.5cs2ysykg5wgulf4@sirius.home.kraxel.org> <49785e0d-936a-c3b4-62dd-aafc7083a942@collabora.com> <20180205122017.4vb5nlpodkq2uhxa@sirius.home.kraxel.org> <20180205160322.sntv5uoqp5o7flnh@sirius.home.kraxel.org> <20180206142302.vdjyqmnoypydci4t@sirius.home.kraxel.org> <04687943-847b-25a7-42ef-a21b4c7ef0cf@collabora.com> <20180212114540.iygbha554busy4ip@sirius.home.kraxel.org> <37179029-8ccb-8eb2-0901-04b64cef3608@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <37179029-8ccb-8eb2-0901-04b64cef3608@collabora.com> User-Agent: NeoMutt/20171215 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > Yes. > > Would it make sense for virtio-gpu to map buffers to the guest via PCI BARs? > So we can use a single drm driver for both 2d and 3d. Should be doable. I'm wondering two things though: (1) Will shmem actually help avoiding a copy? virtio-gpu with virgl will (even if the guest doesn't use opengl) store the resources in gpu memory. So the VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D copy goes from guest memory directly to gpu memory, and if we export that as dma-buf and pass it to the wayland server it should be able to render it without doing another copy. How does the wl_shm_pool workflow look like inside the wayland server? Can it ask the gpu to render directly from the pool? Or is a copy to gpu memory needed here? If the latter we would effectively trade one copy for another ... (2) Could we handle the mapping without needing shmem? Possibly we could extend the vgem driver. So we pass in a iov (which qemu gets from guest via VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING), get back a drm object. Which effectively creates drm objects on the host which match the drm object in the guest (both backed by the same set of physical pages). cheers, Gerd From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: [PATCH v3 1/2] drm/virtio: Add window server support Date: Fri, 16 Feb 2018 11:48:40 +0100 Message-ID: <20180216104840.wtqblyrrhwek6ox7@sirius.home.kraxel.org> References: <20180201163623.5cs2ysykg5wgulf4@sirius.home.kraxel.org> <49785e0d-936a-c3b4-62dd-aafc7083a942@collabora.com> <20180205122017.4vb5nlpodkq2uhxa@sirius.home.kraxel.org> <20180205160322.sntv5uoqp5o7flnh@sirius.home.kraxel.org> <20180206142302.vdjyqmnoypydci4t@sirius.home.kraxel.org> <04687943-847b-25a7-42ef-a21b4c7ef0cf@collabora.com> <20180212114540.iygbha554busy4ip@sirius.home.kraxel.org> <37179029-8ccb-8eb2-0901-04b64cef3608@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id C20CC6E612 for ; Fri, 16 Feb 2018 10:48:44 +0000 (UTC) Content-Disposition: inline In-Reply-To: <37179029-8ccb-8eb2-0901-04b64cef3608@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tomeu Vizoso Cc: "Michael S. Tsirkin" , David Airlie , Stefan Hajnoczi , Jason Wang , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, kernel@collabora.com List-Id: dri-devel@lists.freedesktop.org PiA+IFllcy4KPiAKPiBXb3VsZCBpdCBtYWtlIHNlbnNlIGZvciB2aXJ0aW8tZ3B1IHRvIG1hcCBi dWZmZXJzIHRvIHRoZSBndWVzdCB2aWEgUENJIEJBUnM/Cj4gU28gd2UgY2FuIHVzZSBhIHNpbmds ZSBkcm0gZHJpdmVyIGZvciBib3RoIDJkIGFuZCAzZC4KClNob3VsZCBiZSBkb2FibGUuCgpJJ20g d29uZGVyaW5nIHR3byB0aGluZ3MgdGhvdWdoOgoKKDEpIFdpbGwgc2htZW0gYWN0dWFsbHkgaGVs cCBhdm9pZGluZyBhIGNvcHk/Cgp2aXJ0aW8tZ3B1IHdpdGggdmlyZ2wgd2lsbCAoZXZlbiBpZiB0 aGUgZ3Vlc3QgZG9lc24ndCB1c2Ugb3BlbmdsKSBzdG9yZQp0aGUgcmVzb3VyY2VzIGluIGdwdSBt ZW1vcnkuICBTbyB0aGUgVklSVElPX0dQVV9DTURfVFJBTlNGRVJfVE9fSE9TVF8yRApjb3B5IGdv ZXMgZnJvbSBndWVzdCBtZW1vcnkgZGlyZWN0bHkgdG8gZ3B1IG1lbW9yeSwgYW5kIGlmIHdlIGV4 cG9ydAp0aGF0IGFzIGRtYS1idWYgYW5kIHBhc3MgaXQgdG8gdGhlIHdheWxhbmQgc2VydmVyIGl0 IHNob3VsZCBiZSBhYmxlIHRvCnJlbmRlciBpdCB3aXRob3V0IGRvaW5nIGFub3RoZXIgY29weS4K CkhvdyBkb2VzIHRoZSB3bF9zaG1fcG9vbCB3b3JrZmxvdyBsb29rIGxpa2UgaW5zaWRlIHRoZSB3 YXlsYW5kIHNlcnZlcj8KQ2FuIGl0IGFzayB0aGUgZ3B1IHRvIHJlbmRlciBkaXJlY3RseSBmcm9t IHRoZSBwb29sPyAgT3IgaXMgYSBjb3B5IHRvCmdwdSBtZW1vcnkgbmVlZGVkIGhlcmU/ICBJZiB0 aGUgbGF0dGVyIHdlIHdvdWxkIGVmZmVjdGl2ZWx5IHRyYWRlIG9uZQpjb3B5IGZvciBhbm90aGVy IC4uLgoKKDIpIENvdWxkIHdlIGhhbmRsZSB0aGUgbWFwcGluZyB3aXRob3V0IG5lZWRpbmcgc2ht ZW0/CgpQb3NzaWJseSB3ZSBjb3VsZCBleHRlbmQgdGhlIHZnZW0gZHJpdmVyLiAgU28gd2UgcGFz cyBpbiBhIGlvdiAod2hpY2gKcWVtdSBnZXRzIGZyb20gZ3Vlc3QgdmlhIFZJUlRJT19HUFVfQ01E X1JFU09VUkNFX0FUVEFDSF9CQUNLSU5HKSwgZ2V0CmJhY2sgYSBkcm0gb2JqZWN0LiAgV2hpY2gg ZWZmZWN0aXZlbHkgY3JlYXRlcyBkcm0gb2JqZWN0cyBvbiB0aGUgaG9zdAp3aGljaCBtYXRjaCB0 aGUgZHJtIG9iamVjdCBpbiB0aGUgZ3Vlc3QgKGJvdGggYmFja2VkIGJ5IHRoZSBzYW1lIHNldCBv ZgpwaHlzaWNhbCBwYWdlcykuCgpjaGVlcnMsCiAgR2VyZAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==