From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754103AbdCHTJc (ORCPT ); Wed, 8 Mar 2017 14:09:32 -0500 Received: from mail.kernel.org ([198.145.29.136]:51694 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752639AbdCHTJa (ORCPT ); Wed, 8 Mar 2017 14:09:30 -0500 Date: Wed, 8 Mar 2017 11:08:35 -0800 (PST) From: Stefano Stabellini X-X-Sender: sstabellini@sstabellini-ThinkPad-X260 To: Julien Grall cc: Stefano Stabellini , xen-devel@lists.xenproject.org, jgross@suse.com, Latchesar Ionkov , Eric Van Hensbergen , linux-kernel@vger.kernel.org, Stefano Stabellini , v9fs-developer@lists.sourceforge.net, Ron Minnich , boris.ostrovsky@oracle.com Subject: Re: [Xen-devel] [PATCH 4/7] xen/9pfs: connect to the backend In-Reply-To: <28e5fcdb-8943-d059-ae9b-d1a73e40297f@arm.com> Message-ID: References: <1488830488-18506-1-git-send-email-sstabellini@kernel.org> <1488830488-18506-4-git-send-email-sstabellini@kernel.org> <28e5fcdb-8943-d059-ae9b-d1a73e40297f@arm.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 8 Mar 2017, Julien Grall wrote: > Hi Stefano, > > On 08/03/17 00:49, Stefano Stabellini wrote: > > On Tue, 7 Mar 2017, Julien Grall wrote: > > > On 03/06/2017 08:01 PM, Stefano Stabellini wrote: > > > > + if (ring->bytes == NULL) > > > > + goto error; > > > > + for (i = 0; i < (1 << XEN_9PFS_RING_ORDER); i++) > > > > + ring->intf->ref[i] = > > > > gnttab_grant_foreign_access(dev->otherend_id, > > > > pfn_to_gfn(virt_to_pfn((void*)ring->bytes) + i), 0);. > > > > > > Please use virt_to_gfn rather than pfn_to_gfn(virt_to_pfn). > > > > OK > > > > > > > Also, this is not going to work on 64K kernel because you will grant > > > access to > > > noncontiguous memory (e.g 0-4K, 64K-68K,...). > > > > By using virt_to_gfn like you suggested, the loop will correctly iterate > > on a 4K by 4K basis, even on a 64K kernel: > > > > ring->bytes = (void*)__get_free_pages(GFP_KERNEL | __GFP_ZERO, > > XEN_9PFS_RING_ORDER - (PAGE_SHIFT - XEN_PAGE_SHIFT)); > > for (i = 0; i < (1 << XEN_9PFS_RING_ORDER); i++) > > ring->intf->ref[i] = gnttab_grant_foreign_access(dev->otherend_id, > > virt_to_gfn((void*)ring->bytes) + i, 0); > > BTW, the cast (void *) is not necessary. > > > > > where XEN_9PFS_RING_ORDER specifies the order at 4K granularity. Am I > > missing something? > > I think it is fine. You could move virt_to_gfn(...) outside and avoid to do > the translation everytime. All right, thanks. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH 4/7] xen/9pfs: connect to the backend Date: Wed, 8 Mar 2017 11:08:35 -0800 (PST) Message-ID: References: <1488830488-18506-1-git-send-email-sstabellini@kernel.org> <1488830488-18506-4-git-send-email-sstabellini@kernel.org> <28e5fcdb-8943-d059-ae9b-d1a73e40297f@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1clgx0-00046P-88 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2017 19:08:42 +0000 In-Reply-To: <28e5fcdb-8943-d059-ae9b-d1a73e40297f@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: jgross@suse.com, Latchesar Ionkov , Stefano Stabellini , Eric Van Hensbergen , Ron Minnich , linux-kernel@vger.kernel.org, Stefano Stabellini , v9fs-developer@lists.sourceforge.net, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org T24gV2VkLCA4IE1hciAyMDE3LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU3RlZmFubywKPiAK PiBPbiAwOC8wMy8xNyAwMDo0OSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gT24gVHVl LCA3IE1hciAyMDE3LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gPiA+IE9uIDAzLzA2LzIwMTcgMDg6 MDEgUE0sIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPiA+ID4gPiArCWlmIChyaW5nLT5ieXRl cyA9PSBOVUxMKQo+ID4gPiA+ICsJCWdvdG8gZXJyb3I7Cj4gPiA+ID4gKwlmb3IgKGkgPSAwOyBp IDwgKDEgPDwgWEVOXzlQRlNfUklOR19PUkRFUik7IGkrKykKPiA+ID4gPiArCQlyaW5nLT5pbnRm LT5yZWZbaV0gPQo+ID4gPiA+IGdudHRhYl9ncmFudF9mb3JlaWduX2FjY2VzcyhkZXYtPm90aGVy ZW5kX2lkLAo+ID4gPiA+IHBmbl90b19nZm4odmlydF90b19wZm4oKHZvaWQqKXJpbmctPmJ5dGVz KSArIGkpLCAwKTsuCj4gPiA+IAo+ID4gPiBQbGVhc2UgdXNlIHZpcnRfdG9fZ2ZuIHJhdGhlciB0 aGFuIHBmbl90b19nZm4odmlydF90b19wZm4pLgo+ID4gCj4gPiBPSwo+ID4gCj4gPiAKPiA+ID4g QWxzbywgdGhpcyBpcyBub3QgZ29pbmcgdG8gd29yayBvbiA2NEsga2VybmVsIGJlY2F1c2UgeW91 IHdpbGwgZ3JhbnQKPiA+ID4gYWNjZXNzIHRvCj4gPiA+IG5vbmNvbnRpZ3VvdXMgbWVtb3J5IChl LmcgMC00SywgNjRLLTY4SywuLi4pLgo+ID4gCj4gPiBCeSB1c2luZyB2aXJ0X3RvX2dmbiBsaWtl IHlvdSBzdWdnZXN0ZWQsIHRoZSBsb29wIHdpbGwgY29ycmVjdGx5IGl0ZXJhdGUKPiA+IG9uIGEg NEsgYnkgNEsgYmFzaXMsIGV2ZW4gb24gYSA2NEsga2VybmVsOgo+ID4gCj4gPiAgIHJpbmctPmJ5 dGVzID0gKHZvaWQqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8sCj4g PiAgICAgICAgICAgWEVOXzlQRlNfUklOR19PUkRFUiAtIChQQUdFX1NISUZUIC0gWEVOX1BBR0Vf U0hJRlQpKTsKPiA+ICAgZm9yIChpID0gMDsgaSA8ICgxIDw8IFhFTl85UEZTX1JJTkdfT1JERVIp OyBpKyspCj4gPiAgICAgICByaW5nLT5pbnRmLT5yZWZbaV0gPSBnbnR0YWJfZ3JhbnRfZm9yZWln bl9hY2Nlc3MoZGV2LT5vdGhlcmVuZF9pZCwKPiA+IHZpcnRfdG9fZ2ZuKCh2b2lkKilyaW5nLT5i eXRlcykgKyBpLCAwKTsKPiAKPiBCVFcsIHRoZSBjYXN0ICh2b2lkICopIGlzIG5vdCBuZWNlc3Nh cnkuCj4gCj4gPiAKPiA+IHdoZXJlIFhFTl85UEZTX1JJTkdfT1JERVIgc3BlY2lmaWVzIHRoZSBv cmRlciBhdCA0SyBncmFudWxhcml0eS4gQW0gSQo+ID4gbWlzc2luZyBzb21ldGhpbmc/Cj4gCj4g SSB0aGluayBpdCBpcyBmaW5lLiBZb3UgY291bGQgbW92ZSB2aXJ0X3RvX2dmbiguLi4pIG91dHNp ZGUgYW5kIGF2b2lkIHRvIGRvCj4gdGhlIHRyYW5zbGF0aW9uIGV2ZXJ5dGltZS4KCkFsbCByaWdo dCwgdGhhbmtzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==