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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDF64E7C4ED for ; Wed, 4 Oct 2023 18:28:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244244AbjJDS2C (ORCPT ); Wed, 4 Oct 2023 14:28:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244235AbjJDS2B (ORCPT ); Wed, 4 Oct 2023 14:28:01 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0055198; Wed, 4 Oct 2023 11:27:57 -0700 (PDT) Received: from [10.0.0.178] (c-76-135-56-23.hsd1.wa.comcast.net [76.135.56.23]) by linux.microsoft.com (Postfix) with ESMTPSA id CA79020B74C0; Wed, 4 Oct 2023 11:27:56 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CA79020B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1696444077; bh=H3hpMWGvjGtlXIXotdjlxYcAB+MUrjLHbNTb9FjcgmM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=E2F9qALpVjKLHPt1qgbv6o+F2urPzDJk9C0SK7tHGJgziy2Xd+HvQ7t2Fz4EUlsOI /I01+rs+iUyXP9YNe6t2U0mQTx3zz0+vNEaFzjubblqGCdCOOn3JmzAiqzHzoLEcrX Ha+iNvKWADExxT2I7VlTuwbBJkw9wzTIoNOJUw2E= Message-ID: Date: Wed, 4 Oct 2023 11:27:56 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 09/15] Drivers: hv: Introduce hv_output_arg_exists in hv_common.c Content-Language: en-US To: Alex Ionescu , Dexuan Cui , longli@microsoft.com, "Michael Kelley (LINUX)" Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org, patches@lists.linux.dev, mikelley@microsoft.com, kys@microsoft.com, wei.liu@kernel.org, gregkh@linuxfoundation.org, haiyangz@microsoft.com, decui@microsoft.com, apais@linux.microsoft.com, Tianyu.Lan@microsoft.com, ssengar@linux.microsoft.com, mukeshrathor@microsoft.com, stanislav.kinsburskiy@gmail.com, jinankjain@linux.microsoft.com, vkuznets@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, will@kernel.org, catalin.marinas@arm.com References: <1696010501-24584-1-git-send-email-nunodasneves@linux.microsoft.com> <1696010501-24584-10-git-send-email-nunodasneves@linux.microsoft.com> From: Nuno Das Neves In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-arch@vger.kernel.org On 10/2/2023 12:29 PM, Alex Ionescu wrote: > Hi Nuno, > > Is it possible to simply change to always allocating the output page? > For example, the output page could be needed in scenarios where Linux > is not running as the root partition, since certain hypercalls that a > guest can make will still require one (I realize that's not the case > _today_, but I don't believe this optimization buys much). I agree - it would indeed simplify the code, and guests will probably make use of it sooner or later. Happy to make that change if Hyper-V guest maintainers agree. Long, Dexuan, Michael, what do you think? Thanks, Nuno > Best regards, > Alex Ionescu > > > On Fri, Sep 29, 2023 at 2:02 PM Nuno Das Neves > wrote: >> >> This is a more flexible approach for determining whether to allocate the >> output page. >> >> Signed-off-by: Nuno Das Neves >> Acked-by: Wei Liu >> --- >> drivers/hv/hv_common.c | 21 +++++++++++++++++---- >> 1 file changed, 17 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c >> index 39077841d518..3f6f23e4c579 100644 >> --- a/drivers/hv/hv_common.c >> +++ b/drivers/hv/hv_common.c >> @@ -58,6 +58,14 @@ EXPORT_SYMBOL_GPL(hyperv_pcpu_input_arg); >> void * __percpu *hyperv_pcpu_output_arg; >> EXPORT_SYMBOL_GPL(hyperv_pcpu_output_arg); >> >> +/* >> + * Determine whether output arg is needed >> + */ >> +static inline bool hv_output_arg_exists(void) >> +{ >> + return hv_root_partition ? true : false; >> +} >> + >> static void hv_kmsg_dump_unregister(void); >> >> static struct ctl_table_header *hv_ctl_table_hdr; >> @@ -342,10 +350,12 @@ int __init hv_common_init(void) >> hyperv_pcpu_input_arg = alloc_percpu(void *); >> BUG_ON(!hyperv_pcpu_input_arg); >> >> - /* Allocate the per-CPU state for output arg for root */ >> - if (hv_root_partition) { >> + if (hv_output_arg_exists()) { >> hyperv_pcpu_output_arg = alloc_percpu(void *); >> BUG_ON(!hyperv_pcpu_output_arg); >> + } >> + >> + if (hv_root_partition) { >> hv_synic_eventring_tail = alloc_percpu(u8 *); >> BUG_ON(hv_synic_eventring_tail == NULL); >> } >> @@ -375,7 +385,7 @@ int hv_common_cpu_init(unsigned int cpu) >> u8 **synic_eventring_tail; >> u64 msr_vp_index; >> gfp_t flags; >> - int pgcount = hv_root_partition ? 2 : 1; >> + int pgcount = hv_output_arg_exists() ? 2 : 1; >> void *mem; >> int ret; >> >> @@ -393,9 +403,12 @@ int hv_common_cpu_init(unsigned int cpu) >> if (!mem) >> return -ENOMEM; >> >> - if (hv_root_partition) { >> + if (hv_output_arg_exists()) { >> outputarg = (void **)this_cpu_ptr(hyperv_pcpu_output_arg); >> *outputarg = (char *)mem + HV_HYP_PAGE_SIZE; >> + } >> + >> + if (hv_root_partition) { >> synic_eventring_tail = (u8 **)this_cpu_ptr(hv_synic_eventring_tail); >> *synic_eventring_tail = kcalloc(HV_SYNIC_SINT_COUNT, sizeof(u8), >> flags); >> -- >> 2.25.1 >> >> 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 28F15E7C4E9 for ; Wed, 4 Oct 2023 18:28:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=brFbrmXOFPLm8ITVCb4QLEftPaaLiwoQhh/09Od5tUI=; b=ZGWlTdmwyhfC4B Wa3KW7ojqONiwRi44f1Y+fSXJptyDRQtgxSDubdtmrRGXf9TbhtQDoeY8Yxao86d7XaiIZ910RNMi GGW73xGpgp5SdmumYrEsx4dFNcCtXm5giZYc00dta9rcgsQGIj8j/BiJR24UO4fBoQWlkwiqA350e n15kbhAy+c8PvjJKbDpNz1uYFdUGmzj6ODcvK5R93ek3rSy6jufeevgsJaGQYaoElXJC1N5pIBhtT c5vSjROz/9roA7lmXXCOrA6wxrTCtHCeQG/SPSJtumyOWsuYr0x27CPOZtHSOxG3Pgqnl/BJEFJD0 YK53wnxR0DinYcTpETqg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qo6bI-000h14-2x; Wed, 04 Oct 2023 18:28:00 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qo6bG-000h0W-2o for linux-arm-kernel@lists.infradead.org; Wed, 04 Oct 2023 18:28:00 +0000 Received: from [10.0.0.178] (c-76-135-56-23.hsd1.wa.comcast.net [76.135.56.23]) by linux.microsoft.com (Postfix) with ESMTPSA id CA79020B74C0; Wed, 4 Oct 2023 11:27:56 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com CA79020B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1696444077; bh=H3hpMWGvjGtlXIXotdjlxYcAB+MUrjLHbNTb9FjcgmM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=E2F9qALpVjKLHPt1qgbv6o+F2urPzDJk9C0SK7tHGJgziy2Xd+HvQ7t2Fz4EUlsOI /I01+rs+iUyXP9YNe6t2U0mQTx3zz0+vNEaFzjubblqGCdCOOn3JmzAiqzHzoLEcrX Ha+iNvKWADExxT2I7VlTuwbBJkw9wzTIoNOJUw2E= Message-ID: Date: Wed, 4 Oct 2023 11:27:56 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 09/15] Drivers: hv: Introduce hv_output_arg_exists in hv_common.c Content-Language: en-US To: Alex Ionescu , Dexuan Cui , longli@microsoft.com, "Michael Kelley (LINUX)" Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org, patches@lists.linux.dev, mikelley@microsoft.com, kys@microsoft.com, wei.liu@kernel.org, gregkh@linuxfoundation.org, haiyangz@microsoft.com, decui@microsoft.com, apais@linux.microsoft.com, Tianyu.Lan@microsoft.com, ssengar@linux.microsoft.com, mukeshrathor@microsoft.com, stanislav.kinsburskiy@gmail.com, jinankjain@linux.microsoft.com, vkuznets@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, will@kernel.org, catalin.marinas@arm.com References: <1696010501-24584-1-git-send-email-nunodasneves@linux.microsoft.com> <1696010501-24584-10-git-send-email-nunodasneves@linux.microsoft.com> From: Nuno Das Neves In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231004_112759_008241_EBAB85D3 X-CRM114-Status: GOOD ( 21.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTAvMi8yMDIzIDEyOjI5IFBNLCBBbGV4IElvbmVzY3Ugd3JvdGU6Cj4gSGkgTnVubywKPiAK PiBJcyBpdCBwb3NzaWJsZSB0byBzaW1wbHkgY2hhbmdlIHRvIGFsd2F5cyBhbGxvY2F0aW5nIHRo ZSBvdXRwdXQgcGFnZT8KPiBGb3IgZXhhbXBsZSwgdGhlIG91dHB1dCBwYWdlIGNvdWxkIGJlIG5l ZWRlZCBpbiBzY2VuYXJpb3Mgd2hlcmUgTGludXgKPiBpcyBub3QgcnVubmluZyBhcyB0aGUgcm9v dCBwYXJ0aXRpb24sIHNpbmNlIGNlcnRhaW4gaHlwZXJjYWxscyB0aGF0IGEKPiBndWVzdCBjYW4g bWFrZSB3aWxsIHN0aWxsIHJlcXVpcmUgb25lIChJIHJlYWxpemUgdGhhdCdzIG5vdCB0aGUgY2Fz ZQo+IF90b2RheV8sIGJ1dCBJIGRvbid0IGJlbGlldmUgdGhpcyBvcHRpbWl6YXRpb24gYnV5cyBt dWNoKS4KCkkgYWdyZWUgLSBpdCB3b3VsZCBpbmRlZWQgc2ltcGxpZnkgdGhlIGNvZGUsIGFuZCBn dWVzdHMgd2lsbCBwcm9iYWJseQptYWtlIHVzZSBvZiBpdCBzb29uZXIgb3IgbGF0ZXIuCgpIYXBw eSB0byBtYWtlIHRoYXQgY2hhbmdlIGlmIEh5cGVyLVYgZ3Vlc3QgbWFpbnRhaW5lcnMgYWdyZWUu CkxvbmcsIERleHVhbiwgTWljaGFlbCwgd2hhdCBkbyB5b3UgdGhpbms/CgpUaGFua3MsCk51bm8K Cj4gQmVzdCByZWdhcmRzLAo+IEFsZXggSW9uZXNjdQo+IAo+IAo+IE9uIEZyaSwgU2VwIDI5LCAy MDIzIGF0IDI6MDLigK9QTSBOdW5vIERhcyBOZXZlcwo+IDxudW5vZGFzbmV2ZXNAbGludXgubWlj cm9zb2Z0LmNvbT4gd3JvdGU6Cj4+Cj4+IFRoaXMgaXMgYSBtb3JlIGZsZXhpYmxlIGFwcHJvYWNo IGZvciBkZXRlcm1pbmluZyB3aGV0aGVyIHRvIGFsbG9jYXRlIHRoZQo+PiBvdXRwdXQgcGFnZS4K Pj4KPj4gU2lnbmVkLW9mZi1ieTogTnVubyBEYXMgTmV2ZXMgPG51bm9kYXNuZXZlc0BsaW51eC5t aWNyb3NvZnQuY29tPgo+PiBBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdUBrZXJuZWwub3JnPgo+ PiAtLS0KPj4gICBkcml2ZXJzL2h2L2h2X2NvbW1vbi5jIHwgMjEgKysrKysrKysrKysrKysrKyst LS0tCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h2L2h2X2NvbW1vbi5jIGIvZHJpdmVycy9odi9o dl9jb21tb24uYwo+PiBpbmRleCAzOTA3Nzg0MWQ1MTguLjNmNmYyM2U0YzU3OSAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9odi9odl9jb21tb24uYwo+PiArKysgYi9kcml2ZXJzL2h2L2h2X2NvbW1v bi5jCj4+IEBAIC01OCw2ICs1OCwxNCBAQCBFWFBPUlRfU1lNQk9MX0dQTChoeXBlcnZfcGNwdV9p bnB1dF9hcmcpOwo+PiAgIHZvaWQgKiBfX3BlcmNwdSAqaHlwZXJ2X3BjcHVfb3V0cHV0X2FyZzsK Pj4gICBFWFBPUlRfU1lNQk9MX0dQTChoeXBlcnZfcGNwdV9vdXRwdXRfYXJnKTsKPj4KPj4gKy8q Cj4+ICsgKiBEZXRlcm1pbmUgd2hldGhlciBvdXRwdXQgYXJnIGlzIG5lZWRlZAo+PiArICovCj4+ ICtzdGF0aWMgaW5saW5lIGJvb2wgaHZfb3V0cHV0X2FyZ19leGlzdHModm9pZCkKPj4gK3sKPj4g KyAgICAgICByZXR1cm4gaHZfcm9vdF9wYXJ0aXRpb24gPyB0cnVlIDogZmFsc2U7Cj4+ICt9Cj4+ ICsKPj4gICBzdGF0aWMgdm9pZCBodl9rbXNnX2R1bXBfdW5yZWdpc3Rlcih2b2lkKTsKPj4KPj4g ICBzdGF0aWMgc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKmh2X2N0bF90YWJsZV9oZHI7Cj4+IEBA IC0zNDIsMTAgKzM1MCwxMiBAQCBpbnQgX19pbml0IGh2X2NvbW1vbl9pbml0KHZvaWQpCj4+ICAg ICAgICAgIGh5cGVydl9wY3B1X2lucHV0X2FyZyA9IGFsbG9jX3BlcmNwdSh2b2lkICAqKTsKPj4g ICAgICAgICAgQlVHX09OKCFoeXBlcnZfcGNwdV9pbnB1dF9hcmcpOwo+Pgo+PiAtICAgICAgIC8q IEFsbG9jYXRlIHRoZSBwZXItQ1BVIHN0YXRlIGZvciBvdXRwdXQgYXJnIGZvciByb290ICovCj4+ IC0gICAgICAgaWYgKGh2X3Jvb3RfcGFydGl0aW9uKSB7Cj4+ICsgICAgICAgaWYgKGh2X291dHB1 dF9hcmdfZXhpc3RzKCkpIHsKPj4gICAgICAgICAgICAgICAgICBoeXBlcnZfcGNwdV9vdXRwdXRf YXJnID0gYWxsb2NfcGVyY3B1KHZvaWQgKik7Cj4+ICAgICAgICAgICAgICAgICAgQlVHX09OKCFo eXBlcnZfcGNwdV9vdXRwdXRfYXJnKTsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAgICAgICBpZiAo aHZfcm9vdF9wYXJ0aXRpb24pIHsKPj4gICAgICAgICAgICAgICAgICBodl9zeW5pY19ldmVudHJp bmdfdGFpbCA9IGFsbG9jX3BlcmNwdSh1OCAqKTsKPj4gICAgICAgICAgICAgICAgICBCVUdfT04o aHZfc3luaWNfZXZlbnRyaW5nX3RhaWwgPT0gTlVMTCk7Cj4+ICAgICAgICAgIH0KPj4gQEAgLTM3 NSw3ICszODUsNyBAQCBpbnQgaHZfY29tbW9uX2NwdV9pbml0KHVuc2lnbmVkIGludCBjcHUpCj4+ ICAgICAgICAgIHU4ICoqc3luaWNfZXZlbnRyaW5nX3RhaWw7Cj4+ICAgICAgICAgIHU2NCBtc3Jf dnBfaW5kZXg7Cj4+ICAgICAgICAgIGdmcF90IGZsYWdzOwo+PiAtICAgICAgIGludCBwZ2NvdW50 ID0gaHZfcm9vdF9wYXJ0aXRpb24gPyAyIDogMTsKPj4gKyAgICAgICBpbnQgcGdjb3VudCA9IGh2 X291dHB1dF9hcmdfZXhpc3RzKCkgPyAyIDogMTsKPj4gICAgICAgICAgdm9pZCAqbWVtOwo+PiAg ICAgICAgICBpbnQgcmV0Owo+Pgo+PiBAQCAtMzkzLDkgKzQwMywxMiBAQCBpbnQgaHZfY29tbW9u X2NwdV9pbml0KHVuc2lnbmVkIGludCBjcHUpCj4+ICAgICAgICAgICAgICAgICAgaWYgKCFtZW0p Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4KPj4gLSAgICAg ICAgICAgICAgIGlmIChodl9yb290X3BhcnRpdGlvbikgewo+PiArICAgICAgICAgICAgICAgaWYg KGh2X291dHB1dF9hcmdfZXhpc3RzKCkpIHsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgIG91 dHB1dGFyZyA9ICh2b2lkICoqKXRoaXNfY3B1X3B0cihoeXBlcnZfcGNwdV9vdXRwdXRfYXJnKTsK Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICpvdXRwdXRhcmcgPSAoY2hhciAqKW1lbSArIEhW X0hZUF9QQUdFX1NJWkU7Cj4+ICsgICAgICAgICAgICAgICB9Cj4+ICsKPj4gKyAgICAgICAgICAg ICAgIGlmIChodl9yb290X3BhcnRpdGlvbikgewo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg c3luaWNfZXZlbnRyaW5nX3RhaWwgPSAodTggKiopdGhpc19jcHVfcHRyKGh2X3N5bmljX2V2ZW50 cmluZ190YWlsKTsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICpzeW5pY19ldmVudHJpbmdf dGFpbCA9IGtjYWxsb2MoSFZfU1lOSUNfU0lOVF9DT1VOVCwgc2l6ZW9mKHU4KSwKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3Mp Owo+PiAtLQo+PiAyLjI1LjEKPj4KPj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==