From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966274AbeE2SXc (ORCPT ); Tue, 29 May 2018 14:23:32 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:43296 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965752AbeE2SXZ (ORCPT ); Tue, 29 May 2018 14:23:25 -0400 X-Google-Smtp-Source: AB8JxZpqJQoQOD8bw7MsxLRjnMgfwWOjplhFOPUlYKUQhfcf6RDWiA7ARl52LyBGvpvDB9gtAYtm8Q== Subject: Re: [PATCH 2/8] xen/balloon: Move common memory reservation routines to a module To: Boris Ostrovsky , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, jgross@suse.com, konrad.wilk@oracle.com Cc: daniel.vetter@intel.com, dongwon.kim@intel.com, matthew.d.roper@intel.com, Oleksandr Andrushchenko References: <20180525153331.31188-1-andr2000@gmail.com> <20180525153331.31188-3-andr2000@gmail.com> <44f62fb1-e013-2883-dfa1-386c7a96784b@oracle.com> From: Oleksandr Andrushchenko Message-ID: Date: Tue, 29 May 2018 21:23:21 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <44f62fb1-e013-2883-dfa1-386c7a96784b@oracle.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/29/2018 09:24 PM, Boris Ostrovsky wrote: > On 05/25/2018 11:33 AM, Oleksandr Andrushchenko wrote: >> + >> +void xenmem_reservation_va_mapping_update(unsigned long count, >> + struct page **pages, >> + xen_pfn_t *frames) >> +{ >> +#ifdef CONFIG_XEN_HAVE_PVMMU >> + int i; >> + >> + for (i = 0; i < count; i++) { >> + struct page *page; >> + >> + page = pages[i]; >> + BUG_ON(page == NULL); >> + >> + /* >> + * We don't support PV MMU when Linux and Xen is using >> + * different page granularity. >> + */ >> + BUILD_BUG_ON(XEN_PAGE_SIZE != PAGE_SIZE); >> + >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + unsigned long pfn = page_to_pfn(page); >> + >> + set_phys_to_machine(pfn, frames[i]); >> + >> + /* Link back into the page tables if not highmem. */ >> + if (!PageHighMem(page)) { >> + int ret; >> + >> + ret = HYPERVISOR_update_va_mapping( >> + (unsigned long)__va(pfn << PAGE_SHIFT), >> + mfn_pte(frames[i], PAGE_KERNEL), >> + 0); >> + BUG_ON(ret); >> + } >> + } >> + } >> +#endif >> +} >> +EXPORT_SYMBOL(xenmem_reservation_va_mapping_update); >> + >> +void xenmem_reservation_va_mapping_reset(unsigned long count, >> + struct page **pages) >> +{ >> +#ifdef CONFIG_XEN_HAVE_PVMMU >> + int i; >> + >> + for (i = 0; i < count; i++) { >> + /* >> + * We don't support PV MMU when Linux and Xen is using >> + * different page granularity. >> + */ >> + BUILD_BUG_ON(XEN_PAGE_SIZE != PAGE_SIZE); >> + >> + if (!xen_feature(XENFEAT_auto_translated_physmap)) { >> + struct page *page = pages[i]; >> + unsigned long pfn = page_to_pfn(page); >> + >> + if (!PageHighMem(page)) { >> + int ret; >> + >> + ret = HYPERVISOR_update_va_mapping( >> + (unsigned long)__va(pfn << PAGE_SHIFT), >> + __pte_ma(0), 0); >> + BUG_ON(ret); >> + } >> + __set_phys_to_machine(pfn, INVALID_P2M_ENTRY); >> + } >> + } >> +#endif >> +} >> +EXPORT_SYMBOL(xenmem_reservation_va_mapping_reset); > One other thing I noticed --- both of these can be declared as NOPs in > the header file if !CONFIG_XEN_HAVE_PVMMU. Will rework it to be NOp for !CONFIG_XEN_HAVE_PVMMU > -boris From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH 2/8] xen/balloon: Move common memory reservation routines to a module Date: Tue, 29 May 2018 21:23:21 +0300 Message-ID: References: <20180525153331.31188-1-andr2000@gmail.com> <20180525153331.31188-3-andr2000@gmail.com> <44f62fb1-e013-2883-dfa1-386c7a96784b@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10DAF6E4AE for ; Tue, 29 May 2018 18:23:25 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id r2-v6so228735lff.4 for ; Tue, 29 May 2018 11:23:24 -0700 (PDT) In-Reply-To: <44f62fb1-e013-2883-dfa1-386c7a96784b@oracle.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Ostrovsky , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, jgross@suse.com, konrad.wilk@oracle.com Cc: daniel.vetter@intel.com, dongwon.kim@intel.com, Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org CgpPbiAwNS8yOS8yMDE4IDA5OjI0IFBNLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4gT24gMDUv MjUvMjAxOCAxMTozMyBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4+ICsKPj4g K3ZvaWQgeGVubWVtX3Jlc2VydmF0aW9uX3ZhX21hcHBpbmdfdXBkYXRlKHVuc2lnbmVkIGxvbmcg Y291bnQsCj4+ICsJCQkJCSAgc3RydWN0IHBhZ2UgKipwYWdlcywKPj4gKwkJCQkJICB4ZW5fcGZu X3QgKmZyYW1lcykKPj4gK3sKPj4gKyNpZmRlZiBDT05GSUdfWEVOX0hBVkVfUFZNTVUKPj4gKwlp bnQgaTsKPj4gKwo+PiArCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Cj4+ICsJCXN0cnVj dCBwYWdlICpwYWdlOwo+PiArCj4+ICsJCXBhZ2UgPSBwYWdlc1tpXTsKPj4gKwkJQlVHX09OKHBh Z2UgPT0gTlVMTCk7Cj4+ICsKPj4gKwkJLyoKPj4gKwkJICogV2UgZG9uJ3Qgc3VwcG9ydCBQViBN TVUgd2hlbiBMaW51eCBhbmQgWGVuIGlzIHVzaW5nCj4+ICsJCSAqIGRpZmZlcmVudCBwYWdlIGdy YW51bGFyaXR5Lgo+PiArCQkgKi8KPj4gKwkJQlVJTERfQlVHX09OKFhFTl9QQUdFX1NJWkUgIT0g UEFHRV9TSVpFKTsKPj4gKwo+PiArCQlpZiAoIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFu c2xhdGVkX3BoeXNtYXApKSB7Cj4+ICsJCQl1bnNpZ25lZCBsb25nIHBmbiA9IHBhZ2VfdG9fcGZu KHBhZ2UpOwo+PiArCj4+ICsJCQlzZXRfcGh5c190b19tYWNoaW5lKHBmbiwgZnJhbWVzW2ldKTsK Pj4gKwo+PiArCQkJLyogTGluayBiYWNrIGludG8gdGhlIHBhZ2UgdGFibGVzIGlmIG5vdCBoaWdo bWVtLiAqLwo+PiArCQkJaWYgKCFQYWdlSGlnaE1lbShwYWdlKSkgewo+PiArCQkJCWludCByZXQ7 Cj4+ICsKPj4gKwkJCQlyZXQgPSBIWVBFUlZJU09SX3VwZGF0ZV92YV9tYXBwaW5nKAo+PiArCQkJ CQkJKHVuc2lnbmVkIGxvbmcpX192YShwZm4gPDwgUEFHRV9TSElGVCksCj4+ICsJCQkJCQltZm5f cHRlKGZyYW1lc1tpXSwgUEFHRV9LRVJORUwpLAo+PiArCQkJCQkJMCk7Cj4+ICsJCQkJQlVHX09O KHJldCk7Cj4+ICsJCQl9Cj4+ICsJCX0KPj4gKwl9Cj4+ICsjZW5kaWYKPj4gK30KPj4gK0VYUE9S VF9TWU1CT0woeGVubWVtX3Jlc2VydmF0aW9uX3ZhX21hcHBpbmdfdXBkYXRlKTsKPj4gKwo+PiAr dm9pZCB4ZW5tZW1fcmVzZXJ2YXRpb25fdmFfbWFwcGluZ19yZXNldCh1bnNpZ25lZCBsb25nIGNv dW50LAo+PiArCQkJCQkgc3RydWN0IHBhZ2UgKipwYWdlcykKPj4gK3sKPj4gKyNpZmRlZiBDT05G SUdfWEVOX0hBVkVfUFZNTVUKPj4gKwlpbnQgaTsKPj4gKwo+PiArCWZvciAoaSA9IDA7IGkgPCBj b3VudDsgaSsrKSB7Cj4+ICsJCS8qCj4+ICsJCSAqIFdlIGRvbid0IHN1cHBvcnQgUFYgTU1VIHdo ZW4gTGludXggYW5kIFhlbiBpcyB1c2luZwo+PiArCQkgKiBkaWZmZXJlbnQgcGFnZSBncmFudWxh cml0eS4KPj4gKwkJICovCj4+ICsJCUJVSUxEX0JVR19PTihYRU5fUEFHRV9TSVpFICE9IFBBR0Vf U0laRSk7Cj4+ICsKPj4gKwkJaWYgKCF4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRl ZF9waHlzbWFwKSkgewo+PiArCQkJc3RydWN0IHBhZ2UgKnBhZ2UgPSBwYWdlc1tpXTsKPj4gKwkJ CXVuc2lnbmVkIGxvbmcgcGZuID0gcGFnZV90b19wZm4ocGFnZSk7Cj4+ICsKPj4gKwkJCWlmICgh UGFnZUhpZ2hNZW0ocGFnZSkpIHsKPj4gKwkJCQlpbnQgcmV0Owo+PiArCj4+ICsJCQkJcmV0ID0g SFlQRVJWSVNPUl91cGRhdGVfdmFfbWFwcGluZygKPj4gKwkJCQkJCSh1bnNpZ25lZCBsb25nKV9f dmEocGZuIDw8IFBBR0VfU0hJRlQpLAo+PiArCQkJCQkJX19wdGVfbWEoMCksIDApOwo+PiArCQkJ CUJVR19PTihyZXQpOwo+PiArCQkJfQo+PiArCQkJX19zZXRfcGh5c190b19tYWNoaW5lKHBmbiwg SU5WQUxJRF9QMk1fRU5UUlkpOwo+PiArCQl9Cj4+ICsJfQo+PiArI2VuZGlmCj4+ICt9Cj4+ICtF WFBPUlRfU1lNQk9MKHhlbm1lbV9yZXNlcnZhdGlvbl92YV9tYXBwaW5nX3Jlc2V0KTsKPiBPbmUg b3RoZXIgdGhpbmcgSSBub3RpY2VkIC0tLSBib3RoIG9mIHRoZXNlIGNhbiBiZSBkZWNsYXJlZCBh cyBOT1BzIGluCj4gdGhlIGhlYWRlciBmaWxlIGlmICFDT05GSUdfWEVOX0hBVkVfUFZNTVUuCldp bGwgcmV3b3JrIGl0IHRvIGJlIE5PcCBmb3IgIUNPTkZJR19YRU5fSEFWRV9QVk1NVQo+IC1ib3Jp cwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==