All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Kevin Hilman <khilman@linaro.org>
Cc: Scott Wood <scottwood@freescale.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	linaro-kernel@lists.linaro.org,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"open list:KERNEL VIRTUAL MA..." <kvm@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] KVM: allow host header to be included even for !CONFIG_KVM
Date: Sun, 24 Mar 2013 12:21:35 +0200	[thread overview]
Message-ID: <20130324102135.GC22179@redhat.com> (raw)
In-Reply-To: <878v5ggv3s.fsf@linaro.org>

On Thu, Mar 21, 2013 at 05:02:15PM -0700, Kevin Hilman wrote:
> Gleb Natapov <gleb@redhat.com> writes:
> 
> > On Thu, Mar 21, 2013 at 02:33:13PM -0500, Scott Wood wrote:
> >> On 03/21/2013 02:16:00 PM, Gleb Natapov wrote:
> >> >On Thu, Mar 21, 2013 at 01:42:34PM -0500, Scott Wood wrote:
> >> >> On 03/21/2013 09:27:14 AM, Kevin Hilman wrote:
> >> >> >Gleb Natapov <gleb@redhat.com> writes:
> >> >> >
> >> >> >> On Wed, Mar 20, 2013 at 06:58:41PM -0500, Scott Wood wrote:
> >> >> >>> Why can't the entirety kvm_host.h be included regardless of
> >> >> >>> CONFIG_KVM, just like most other feature-specific headers?  Why
> >> >> >>> can't the if/else just go around the functions that you want to
> >> >> >stub
> >> >> >>> out for non-KVM builds?
> >> >> >>>
> >> >> >> Kevin,
> >> >> >>
> >> >> >>  What compilation failure this patch fixes? I presume
> >> >something ARM
> >> >> >> related.
> >> >> >
> >> >> >Not specficially ARM related, but more context tracking related
> >> >since
> >> >> >kernel/context_tracking.c pulls in kvm_host.h, which attempts to
> >> >> >pull in
> >> >> ><asm/kvm*.h> which may not exist on some platforms.
> >> >> >
> >> >> >At least for ARM, KVM support was added in v3.9 so this patch can
> >> >> >probably be dropped since the non-KVM builds on ARM now work.
> >> >But any
> >> >> >platform without the <asm/kvm*.h> will still be broken when
> >> >trying to
> >> >> >build the context tracker.
> >> >>
> >> >> Maybe other platforms should get empty asm/kvm*.h files.  Is there
> >> >> anything from those files that the linux/kvm*.h headers need to
> >> >> build?
> >> >>
> >> >arch things. kvm_vcpu_arch, kvm_arch_memory_slot, kvm_arch etc.
> >> 
> >> Could define them as empty structs.
> >> 
> > Isn't is simpler for kernel/context_tracking.c to define empty
> > __guest_enter()/__guest_exit() if !CONFIG_KVM.
> 
> I proposed something like that in an earlier version but Frederic asked
> me to propose a fix to the KVM headers instead.
> 
> Just in case fixing the context tracking subsystem is preferred, 
> the patch below fixes the problem also.
> 
The patch that broke PPC build was reverted. Frederic can you get the
patch below?

> Kevin
> 
> >From f22995a262144d0d61705fa72134694d911283eb Mon Sep 17 00:00:00 2001
> From: Kevin Hilman <khilman@linaro.org>
> Date: Thu, 21 Mar 2013 16:57:14 -0700
> Subject: [PATCH] context_tracking: fix !CONFIG_KVM compile: add stub guest
>  enter/exit
> 
> When KVM is not enabled, or not available on a platform, the KVM
> headers should not be included.  Instead, just define stub
> __guest_[enter|exit] functions.
> 
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Signed-off-by: Kevin Hilman <khilman@linaro.org>
> ---
>  kernel/context_tracking.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
> index 65349f0..64b0f80 100644
> --- a/kernel/context_tracking.c
> +++ b/kernel/context_tracking.c
> @@ -15,12 +15,18 @@
>   */
>  
>  #include <linux/context_tracking.h>
> -#include <linux/kvm_host.h>
>  #include <linux/rcupdate.h>
>  #include <linux/sched.h>
>  #include <linux/hardirq.h>
>  #include <linux/export.h>
>  
> +#if IS_ENABLED(CONFIG_KVM)
> +#include <linux/kvm_host.h>
> +#else
> +#define __guest_enter()
> +#define __guest_exit()
> +#endif
> +
>  DEFINE_PER_CPU(struct context_tracking, context_tracking) = {
>  #ifdef CONFIG_CONTEXT_TRACKING_FORCE
>  	.active = true,
> -- 
> 1.8.2

--
			Gleb.

  reply	other threads:[~2013-03-24 10:21 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-15  0:13 [PATCH] KVM: allow host header to be included even for !CONFIG_KVM Kevin Hilman
2013-03-18 21:04 ` Marcelo Tosatti
2013-03-20 23:58 ` Scott Wood
2013-03-21  7:29   ` Gleb Natapov
2013-03-21 14:27     ` Kevin Hilman
2013-03-21 18:42       ` Scott Wood
2013-03-21 19:16         ` Gleb Natapov
2013-03-21 19:33           ` Scott Wood
2013-03-21 21:17             ` Gleb Natapov
2013-03-22  0:02               ` Kevin Hilman
2013-03-24 10:21                 ` Gleb Natapov [this message]
2013-03-24 13:44               ` Frederic Weisbecker
2013-03-24 14:01                 ` Gleb Natapov
2013-03-25 21:14                   ` Kevin Hilman
2013-04-02 11:56                     ` Gleb Natapov
2013-05-02 21:58                       ` Alexander Graf
2013-05-15 22:52                     ` Frederic Weisbecker
2013-05-17  1:04                       ` Frederic Weisbecker
2013-05-17 14:09                         ` Kevin Hilman
2013-05-17 14:34                           ` Frederic Weisbecker
2013-05-17 17:00                             ` Kevin Hilman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130324102135.GC22179@redhat.com \
    --to=gleb@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=khilman@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=scottwood@freescale.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.