All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul Bolle <pebolle@tiscali.nl>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	devel@linuxdriverproject.org, "x86\@kernel.org" <x86@kernel.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Jork Loeser <Jork.Loeser@microsoft.com>,
	Simon Xiao <sixiao@microsoft.com>,
	Andy Lutomirski <luto@kernel.org>
Subject: Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()
Date: Mon, 12 Jun 2017 10:56:30 +0800	[thread overview]
Message-ID: <871sqp29sx.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <20170609150707.322c3b9f@gandalf.local.home> (Steven Rostedt's message of "Fri, 9 Jun 2017 15:07:07 -0400")

Steven Rostedt <rostedt@goodmis.org> writes:

> On Fri, 09 Jun 2017 20:53:53 +0200
> Paul Bolle <pebolle@tiscali.nl> wrote:
>
>> On Fri, 2017-06-09 at 14:32 -0400, Steven Rostedt wrote:
>> > I'm sure it works, but it just adds one more way of doing the same
>> > thing. I thought that was what perl was always criticized for, and why
>> > people usually prefer python. Don't get me wrong, I prefer oysters over
>> > snakes. But I just wanted to point out the lack of consistency here.  
>> 
>> A major benefit is that
>>     #if IS_ENABLED(CONFIG_HYPERV)
>> 
>> is shorter than
>>     #if defined(CONFIG_HYPERV) || defined(CONFIG_HYPERV_MODULE)
>> 
>> and less prone to typos.
>> 
>
> I don't believe the module version is needed here. Otherwise I would
> question the #if altogether. Which now I'm looking at it, why is it
> needed?
>
> What includes this header file that wouldn't have that set anyway? The
> only place it is included is in:
>
>  arch/x86/hyperv/mmu.c
>
> Is that compiled without CONFIG_HYPERV?

No, it is not but as was already mentioned it is valid and common to have
CONFIG_HYPERV=m (we should've probably done things differently in the past;
CONFIG_HYPERV=y/n should've been used for indicating Hyper-V support and
something like CONFIG_HYPERV_VMBUS=y/m/n to say if we want to have vmbus
as a module but...).

arch/x86/hyperv/mmu.c is compiled in vmlinux when CONFIG_HYPERV is
enabled in any way, this is updated in PATCH8 of this series:

diff --git a/arch/x86/Kbuild b/arch/x86/Kbuild
index 586b786..3e6f640 100644
--- a/arch/x86/Kbuild
+++ b/arch/x86/Kbuild
@@ -8,7 +8,7 @@ obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_XEN) += xen/

 # Hyper-V paravirtualization support
-obj-$(CONFIG_HYPERVISOR_GUEST) += hyperv/
+obj-$(subst m,y,$(CONFIG_HYPERV)) += hyperv/

 # lguest paravirtualization support
 obj-$(CONFIG_LGUEST_GUEST) += lguest/

(it was Andy who suggested we use 'subst', not me :-)

So we can't just change IS_ENABLED -> ifdef in this patch. We can, of
course, write " #if defined(CONFIG_HYPERV) ||
defined(CONFIG_HYPERV_MODULE)" but we were replacing it with IF_ENABLED
in the past, not sure we should do that. Dropping the #if altogether is
possible, but why having it when CONFIG_HYPERV=n?

-- 
  Vitaly

  reply	other threads:[~2017-06-12  2:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-09 13:27 [PATCH v8 00/10] Hyper-V: paravirtualized remote TLB flushing and hypercall improvements Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 01/10] x86/hyper-v: include hyperv/ only when CONFIG_HYPERV is set Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 02/10] x86/hyper-v: stash the max number of virtual/logical processor Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 03/10] x86/hyper-v: make hv_do_hypercall() inline Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 04/10] x86/hyper-v: fast hypercall implementation Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 05/10] hyper-v: use fast hypercall for HVCALL_SIGNAL_EVENT Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 06/10] x86/hyper-v: implement rep hypercalls Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 07/10] hyper-v: globalize vp_index Vitaly Kuznetsov
2017-06-13 23:21   ` Stephen Hemminger
2017-06-14  2:29     ` Vitaly Kuznetsov
2017-06-14  4:31       ` Jork Loeser
2017-06-14 16:10         ` Stephen Hemminger
2017-06-09 13:27 ` [PATCH v8 08/10] x86/hyper-v: use hypercall for remote TLB flush Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 09/10] x86/hyper-v: support extended CPU ranges for TLB flush hypercalls Vitaly Kuznetsov
2017-06-09 13:27 ` [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others() Vitaly Kuznetsov
2017-06-09 18:04   ` Steven Rostedt
2017-06-09 18:23     ` Andy Shevchenko
2017-06-09 18:32       ` Steven Rostedt
2017-06-09 18:40         ` Andy Shevchenko
2017-06-09 18:53         ` Paul Bolle
2017-06-09 19:07           ` Steven Rostedt
2017-06-12  2:56             ` Vitaly Kuznetsov [this message]
2017-06-09 16:04 ` [PATCH v8 00/10] Hyper-V: paravirtualized remote TLB flushing and hypercall improvements Andy Shevchenko
2017-06-09 16:14 ` Stephen Hemminger

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=871sqp29sx.fsf@vitty.brq.redhat.com \
    --to=vkuznets@redhat.com \
    --cc=Jork.Loeser@microsoft.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=devel@linuxdriverproject.org \
    --cc=haiyangz@microsoft.com \
    --cc=hpa@zytor.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=pebolle@tiscali.nl \
    --cc=rostedt@goodmis.org \
    --cc=sixiao@microsoft.com \
    --cc=sthemmin@microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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.