[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <871sqp29sx.fsf@vitty.brq.redhat.com>
Date: Mon, 12 Jun 2017 10:56:30 +0800
From: Vitaly Kuznetsov <vkuznets@...hat.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Paul Bolle <pebolle@...cali.nl>,
Andy Shevchenko <andy.shevchenko@...il.com>,
devel@...uxdriverproject.org, "x86\@kernel.org" <x86@...nel.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Jork Loeser <Jork.Loeser@...rosoft.com>,
Simon Xiao <sixiao@...rosoft.com>,
Andy Lutomirski <luto@...nel.org>
Subject: Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()
Steven Rostedt <rostedt@...dmis.org> writes:
> On Fri, 09 Jun 2017 20:53:53 +0200
> Paul Bolle <pebolle@...cali.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
Powered by blists - more mailing lists