Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1663198

Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()

From Vitaly Kuznetsov <vkuznets@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others()
Date 2017-06-12 05:00 +0200
Message-ID <tRnK9-4Ot-1@gated-at.bofh.it> (permalink)
References (2 earlier) <tQww9-4Rr-3@gated-at.bofh.it> <tQwPv-4Zo-7@gated-at.bofh.it> <tQwZc-52A-5@gated-at.bofh.it> <tQxiy-59d-25@gated-at.bofh.it> <tQxse-5ru-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-06-09 15:30 +0200
  Re: [PATCH v8 10/10] tracing/hyper-v: trace  hyperv_mmu_flush_tlb_others() Steven Rostedt <rostedt@goodmis.org> - 2017-06-09 20:10 +0200
    Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others() Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-06-09 20:30 +0200
      Re: [PATCH v8 10/10] tracing/hyper-v: trace  hyperv_mmu_flush_tlb_others() Steven Rostedt <rostedt@goodmis.org> - 2017-06-09 20:40 +0200
        Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others() Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-06-09 20:50 +0200
        Re: [PATCH v8 10/10] tracing/hyper-v: trace  hyperv_mmu_flush_tlb_others() Paul Bolle <pebolle@tiscali.nl> - 2017-06-09 21:00 +0200
          Re: [PATCH v8 10/10] tracing/hyper-v: trace  hyperv_mmu_flush_tlb_others() Steven Rostedt <rostedt@goodmis.org> - 2017-06-09 21:10 +0200
            Re: [PATCH v8 10/10] tracing/hyper-v: trace hyperv_mmu_flush_tlb_others() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-06-12 05:00 +0200

csiph-web