From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S940640AbdEXPlU (ORCPT ); Wed, 24 May 2017 11:41:20 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:26225 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932956AbdEXPlT (ORCPT ); Wed, 24 May 2017 11:41:19 -0400 Subject: Re: [PATCH 05/10] paravirt: add new PARAVIRT_FULL config item To: Juergen Gross , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org, virtualization@lists.linux-foundation.org References: <20170519154746.29389-1-jgross@suse.com> <20170519154746.29389-6-jgross@suse.com> Cc: jeremy@goop.org, chrisw@sous-sol.org, akataria@vmware.com, rusty@rustcorp.com.au, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com From: Boris Ostrovsky Message-ID: <260e7bc9-8cba-bc57-9fe8-0e437562229a@oracle.com> Date: Wed, 24 May 2017 11:40:12 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170519154746.29389-6-jgross@suse.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/19/2017 11:47 AM, Juergen Gross wrote: > Add a new config item PARAVIRT_FULL. It will be used to guard the > pv_*_ops functions used by fully paravirtualized guests (Xen pv-guests > and lguest) only. > > Kernels not meant to support those guest types will be able to use many > operations without paravirt abstraction while still supporting all the > other paravirt features. > > For now just add the new Kconfig option and select it for XEN_PV and > LGUEST_GUEST. Add paravirt_full.c, paravirt_full.h and > paravirt_types_full.h which will contain the necessary implementation > parts of the pv guest specific paravirt functions. Is it not possible to just 'ifdef CONFIG_PARAVIT_FULL' the (ir)relevant parts of paravirt.[ch] and paravirt_types.c? Separating structures and files into pv and pvfull seems somewhat arbitrary (.flush_tlb_others in patch 8 being a good example of one type of guest deciding to use something that normally would be considered part of a pvfull-type structure). -boris