From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755068AbdEDQIk (ORCPT ); Thu, 4 May 2017 12:08:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41310 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753210AbdEDQIh (ORCPT ); Thu, 4 May 2017 12:08:37 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 5915E80E7D Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=alex.williamson@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 5915E80E7D Date: Thu, 4 May 2017 10:08:33 -0600 From: Alex Williamson To: "Chen, Xiaoguang" Cc: "Tian, Kevin" , "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "zhenyuw@linux.intel.com" , "Lv, Zhiyuan" , "intel-gvt-dev@lists.freedesktop.org" , "Wang, Zhi A" , Gerd Hoffmann Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf Message-ID: <20170504100833.199bc8ba@t450s.home> In-Reply-To: References: <1493372130-27727-1-git-send-email-xiaoguang.chen@intel.com> <1493372130-27727-7-git-send-email-xiaoguang.chen@intel.com> <1493718658.8581.82.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 04 May 2017 16:08:37 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 4 May 2017 03:09:40 +0000 "Chen, Xiaoguang" wrote: > Hi Alex, do you have any comments for this interface? > > >-----Original Message----- > >From: intel-gvt-dev [mailto:intel-gvt-dev-bounces@lists.freedesktop.org] On > >Behalf Of Chen, Xiaoguang > >Sent: Wednesday, May 03, 2017 9:39 AM > >To: Gerd Hoffmann > >Cc: Tian, Kevin ; intel-gfx@lists.freedesktop.org; linux- > >kernel@vger.kernel.org; zhenyuw@linux.intel.com; alex.williamson@redhat.com; > >Lv, Zhiyuan ; intel-gvt-dev@lists.freedesktop.org; Wang, > >Zhi A > >Subject: RE: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf > > > > > > > >>-----Original Message----- > >>From: Gerd Hoffmann [mailto:kraxel@redhat.com] > >>Sent: Tuesday, May 02, 2017 5:51 PM > >>To: Chen, Xiaoguang > >>Cc: alex.williamson@redhat.com; intel-gfx@lists.freedesktop.org; > >>intel-gvt- dev@lists.freedesktop.org; Wang, Zhi A > >>; zhenyuw@linux.intel.com; > >>linux-kernel@vger.kernel.org; Lv, Zhiyuan ; Tian, > >>Kevin > >>Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the > >>dmabuf > >> > >>On Fr, 2017-04-28 at 17:35 +0800, Xiaoguang Chen wrote: > >>> +static size_t intel_vgpu_reg_rw_gvtg(struct intel_vgpu *vgpu, char > >>> *buf, > >>> + size_t count, loff_t *ppos, bool iswrite) { > >>> + unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) - > >>> + VFIO_PCI_NUM_REGIONS; > >>> + loff_t pos = *ppos & VFIO_PCI_OFFSET_MASK; > >>> + int fd; > >>> + > >>> + if (pos >= vgpu->vdev.region[i].size || iswrite) { > >>> + gvt_vgpu_err("invalid op or offset for Intel vgpu fd > >>> region\n"); > >>> + return -EINVAL; > >>> + } > >>> + > >>> + fd = anon_inode_getfd("gvtg", &intel_vgpu_gvtg_ops, vgpu, > >>> + O_RDWR | O_CLOEXEC); > >>> + if (fd < 0) { > >>> + gvt_vgpu_err("create intel vgpu fd failed:%d\n", fd); > >>> + return -EINVAL; > >>> + } > >>> + > >>> + count = min(count, (size_t)(vgpu->vdev.region[i].size - pos)); > >>> + memcpy(buf, &fd, count); > >>> + > >>> + return count; > >>> +} > >> > >>Hmm, that looks like a rather strange way to return a file descriptor. > >> > >>What is the reason to not use ioctls on the vfio file handle, like > >>older version of these patches did? > >If I understood correctly that Alex prefer not to change the ioctls on the vfio file > >handle like the old version. > >So I used this way the smallest change to general vfio framework only adding a > >subregion definition. I think I was hoping we could avoid a separate file descriptor altogether and use a vfio region instead. However, it was explained previously why this really needs to be a separate fd and I agree that using a region to expose an fd is really awkward. If we're going to have a separate fd, let's use a device specific ioctl to get it. Thanks, Alex From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf Date: Thu, 4 May 2017 10:08:33 -0600 Message-ID: <20170504100833.199bc8ba@t450s.home> References: <1493372130-27727-1-git-send-email-xiaoguang.chen@intel.com> <1493372130-27727-7-git-send-email-xiaoguang.chen@intel.com> <1493718658.8581.82.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Chen, Xiaoguang" Cc: "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "Lv, Zhiyuan" , "intel-gvt-dev@lists.freedesktop.org" , Gerd Hoffmann List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCA0IE1heSAyMDE3IDAzOjA5OjQwICswMDAwCiJDaGVuLCBYaWFvZ3VhbmciIDx4aWFv Z3VhbmcuY2hlbkBpbnRlbC5jb20+IHdyb3RlOgoKPiBIaSBBbGV4LCBkbyB5b3UgaGF2ZSBhbnkg Y29tbWVudHMgZm9yIHRoaXMgaW50ZXJmYWNlPwo+IAo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQo+ID5Gcm9tOiBpbnRlbC1ndnQtZGV2IFttYWlsdG86aW50ZWwtZ3Z0LWRldi1ib3VuY2Vz QGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24KPiA+QmVoYWxmIE9mIENoZW4sIFhpYW9ndWFuZwo+ ID5TZW50OiBXZWRuZXNkYXksIE1heSAwMywgMjAxNyA5OjM5IEFNCj4gPlRvOiBHZXJkIEhvZmZt YW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4KPiA+Q2M6IFRpYW4sIEtldmluIDxrZXZpbi50aWFuQGlu dGVsLmNvbT47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGxpbnV4LQo+ID5rZXJu ZWxAdmdlci5rZXJuZWwub3JnOyB6aGVueXV3QGxpbnV4LmludGVsLmNvbTsgYWxleC53aWxsaWFt c29uQHJlZGhhdC5jb207Cj4gPkx2LCBaaGl5dWFuIDx6aGl5dWFuLmx2QGludGVsLmNvbT47IGlu dGVsLWd2dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBXYW5nLAo+ID5aaGkgQSA8emhpLmEu d2FuZ0BpbnRlbC5jb20+Cj4gPlN1YmplY3Q6IFJFOiBbUkZDIFBBVENIIDYvNl0gZHJtL2k5MTUv Z3Z0OiBzdXBwb3J0IFFFTVUgZ2V0dGluZyB0aGUgZG1hYnVmCj4gPgo+ID4KPiA+ICAKPiA+Pi0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPj5Gcm9tOiBHZXJkIEhvZmZtYW5uIFttYWlsdG86 a3JheGVsQHJlZGhhdC5jb21dCj4gPj5TZW50OiBUdWVzZGF5LCBNYXkgMDIsIDIwMTcgNTo1MSBQ TQo+ID4+VG86IENoZW4sIFhpYW9ndWFuZyA8eGlhb2d1YW5nLmNoZW5AaW50ZWwuY29tPgo+ID4+ Q2M6IGFsZXgud2lsbGlhbXNvbkByZWRoYXQuY29tOyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOwo+ID4+aW50ZWwtZ3Z0LSBkZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBXYW5nLCBa aGkgQQo+ID4+PHpoaS5hLndhbmdAaW50ZWwuY29tPjsgemhlbnl1d0BsaW51eC5pbnRlbC5jb207 Cj4gPj5saW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBMdiwgWmhpeXVhbiA8emhpeXVhbi5s dkBpbnRlbC5jb20+OyBUaWFuLAo+ID4+S2V2aW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgo+ID4+ U3ViamVjdDogUmU6IFtSRkMgUEFUQ0ggNi82XSBkcm0vaTkxNS9ndnQ6IHN1cHBvcnQgUUVNVSBn ZXR0aW5nIHRoZQo+ID4+ZG1hYnVmCj4gPj4KPiA+Pk9uIEZyLCAyMDE3LTA0LTI4IGF0IDE3OjM1 ICswODAwLCBYaWFvZ3VhbmcgQ2hlbiB3cm90ZTogIAo+ID4+PiArc3RhdGljIHNpemVfdCBpbnRl bF92Z3B1X3JlZ19yd19ndnRnKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCBjaGFyCj4gPj4+ICpi dWYsCj4gPj4+ICsgICAgICAgICAgICAgICBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcywgYm9v bCBpc3dyaXRlKSB7Cj4gPj4+ICsgICAgICAgdW5zaWduZWQgaW50IGkgPSBWRklPX1BDSV9PRkZT RVRfVE9fSU5ERVgoKnBwb3MpIC0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgVkZJT19Q Q0lfTlVNX1JFR0lPTlM7Cj4gPj4+ICsgICAgICAgbG9mZl90IHBvcyA9ICpwcG9zICYgVkZJT19Q Q0lfT0ZGU0VUX01BU0s7Cj4gPj4+ICsgICAgICAgaW50IGZkOwo+ID4+PiArCj4gPj4+ICsgICAg ICAgaWYgKHBvcyA+PSB2Z3B1LT52ZGV2LnJlZ2lvbltpXS5zaXplIHx8IGlzd3JpdGUpIHsKPiA+ Pj4gKyAgICAgICAgICAgICAgIGd2dF92Z3B1X2VycigiaW52YWxpZCBvcCBvciBvZmZzZXQgZm9y IEludGVsIHZncHUgZmQKPiA+Pj4gcmVnaW9uXG4iKTsKPiA+Pj4gKyAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwo+ID4+PiArICAgICAgIH0KPiA+Pj4gKwo+ID4+PiArICAgICAgIGZkID0g YW5vbl9pbm9kZV9nZXRmZCgiZ3Z0ZyIsICZpbnRlbF92Z3B1X2d2dGdfb3BzLCB2Z3B1LAo+ID4+ PiArICAgICAgICAgICAgICAgICAgICAgICBPX1JEV1IgfCBPX0NMT0VYRUMpOwo+ID4+PiArICAg ICAgIGlmIChmZCA8IDApIHsKPiA+Pj4gKyAgICAgICAgICAgICAgIGd2dF92Z3B1X2VycigiY3Jl YXRlIGludGVsIHZncHUgZmQgZmFpbGVkOiVkXG4iLCBmZCk7Cj4gPj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPiA+Pj4gKyAgICAgICB9Cj4gPj4+ICsKPiA+Pj4gKyAgICAgICBj b3VudCA9IG1pbihjb3VudCwgKHNpemVfdCkodmdwdS0+dmRldi5yZWdpb25baV0uc2l6ZSAtIHBv cykpOwo+ID4+PiArICAgICAgIG1lbWNweShidWYsICZmZCwgY291bnQpOwo+ID4+PiArCj4gPj4+ ICsgICAgICAgcmV0dXJuIGNvdW50Owo+ID4+PiArfSAgCj4gPj4KPiA+PkhtbSwgdGhhdCBsb29r cyBsaWtlIGEgcmF0aGVyIHN0cmFuZ2Ugd2F5IHRvIHJldHVybiBhIGZpbGUgZGVzY3JpcHRvci4K PiA+Pgo+ID4+V2hhdCBpcyB0aGUgcmVhc29uIHRvIG5vdCB1c2UgaW9jdGxzIG9uIHRoZSB2Zmlv IGZpbGUgaGFuZGxlLCBsaWtlCj4gPj5vbGRlciB2ZXJzaW9uIG9mIHRoZXNlIHBhdGNoZXMgZGlk PyAgCj4gPklmIEkgdW5kZXJzdG9vZCBjb3JyZWN0bHkgdGhhdCBBbGV4IHByZWZlciBub3QgdG8g Y2hhbmdlIHRoZSBpb2N0bHMgb24gdGhlIHZmaW8gZmlsZQo+ID5oYW5kbGUgbGlrZSB0aGUgb2xk IHZlcnNpb24uCj4gPlNvIEkgdXNlZCB0aGlzIHdheSB0aGUgc21hbGxlc3QgY2hhbmdlIHRvIGdl bmVyYWwgdmZpbyBmcmFtZXdvcmsgb25seSBhZGRpbmcgYQo+ID5zdWJyZWdpb24gZGVmaW5pdGlv bi4KCkkgdGhpbmsgSSB3YXMgaG9waW5nIHdlIGNvdWxkIGF2b2lkIGEgc2VwYXJhdGUgZmlsZSBk ZXNjcmlwdG9yCmFsdG9nZXRoZXIgYW5kIHVzZSBhIHZmaW8gcmVnaW9uIGluc3RlYWQuICBIb3dl dmVyLCBpdCB3YXMgZXhwbGFpbmVkCnByZXZpb3VzbHkgd2h5IHRoaXMgcmVhbGx5IG5lZWRzIHRv IGJlIGEgc2VwYXJhdGUgZmQgYW5kIEkgYWdyZWUgdGhhdAp1c2luZyBhIHJlZ2lvbiB0byBleHBv c2UgYW4gZmQgaXMgcmVhbGx5IGF3a3dhcmQuICBJZiB3ZSdyZSBnb2luZyB0bwpoYXZlIGEgc2Vw YXJhdGUgZmQsIGxldCdzIHVzZSBhIGRldmljZSBzcGVjaWZpYyBpb2N0bCB0byBnZXQgaXQuClRo YW5rcywKCkFsZXgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==