Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4229797yba; Tue, 23 Apr 2019 17:58:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqwZMnSjB9SNhN15VYYUZ8pKxjvPsh8hQw45NzqZtUhU5e8c/y1AE5d7psHpke3B1bHANlDz X-Received: by 2002:a65:6201:: with SMTP id d1mr10810092pgv.28.1556067496397; Tue, 23 Apr 2019 17:58:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556067496; cv=none; d=google.com; s=arc-20160816; b=T/IWlSBRrP5grkOgWvjf+ht6uQLPhwhjxvVuLf+9rP1H3O7p9hpziksgUDfDZSxk8D qqBTleaQNk69xH8ejndVkCFwoJg6xSrUIaxAFzNlpDWS/ulEOMSkevBMRu5znO2xsVjl TWDEs+1JDKCEduJkg5BoWaqbqME5oJRM1ENJSicPzeuXFQNSYBXTOhWB1qyVZOL9EVAs Fhg5nhiH9iQPuDzzg+28LAThast9wyyDeWN05FqdWaDLKX8nlxYKVNT1n2oHpNz+/I57 kQZrQlbxk6C8zwRy3b6U26cSX2ypsQk82QV38M+e+LpzimiiIPpRFJiNOAh8hV27DeHr ULqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=l66sNrCr+4HqH+z1U8gJm5JEV6ymxXkHMqig02jNNwg=; b=K9riAHXHlWVOxoOQcAedsSSc23zinrOTXuUp39wPhl7wpkhkElGZMlsfj7DifYq1bl BNK/m5eElzio4+W2+WG21reGMwN4W56qYqiBH2RTev+fAgSzx72Hl+3wg7oEnLIHWd/v EzmCuRTpAiunL/JaGgd/Wuz56IYl9+IlVUDkyWuRLu7oG4Vnz21r+/F1UOwOIZlLlEj6 wMZkWlgJqNJwQET5vYLih4LBX4aniDDQFb9Km2lYWgo4EJT2uMRao187dvNnam/2cpO2 nkTZ0KqJH/F3iEsOAjl9C4DyYlWZays2Q0fQF1tjr4s2FT/18PcevWrRI5IH3F0DyxBY nSug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z4si16881373plo.166.2019.04.23.17.57.59; Tue, 23 Apr 2019 17:58:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729081AbfDXA4x (ORCPT + 99 others); Tue, 23 Apr 2019 20:56:53 -0400 Received: from mga02.intel.com ([134.134.136.20]:21806 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728615AbfDXA4x (ORCPT ); Tue, 23 Apr 2019 20:56:53 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2019 17:56:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,387,1549958400"; d="scan'208";a="340195436" Received: from genxtest-ykzhao.sh.intel.com ([10.239.143.71]) by fmsmga005.fm.intel.com with ESMTP; 23 Apr 2019 17:56:51 -0700 From: Zhao Yakui To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: tglx@linutronix.de, bp@alien8.de, Zhao Yakui Subject: [RFC PATCH v5 1/4] x86/Kconfig: Add new config symbol to unify conditional definition of hv_irq_callback_count Date: Wed, 24 Apr 2019 08:54:17 +0800 Message-Id: <1556067260-9128-2-git-send-email-yakui.zhao@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1556067260-9128-1-git-send-email-yakui.zhao@intel.com> References: <1556067260-9128-1-git-send-email-yakui.zhao@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a special Kconfig symbol X86_HV_CALLBACK_VECTOR so that the guests using the hypervisor interrupt callback counter can select and thus enable that counter. Select it when xen or hyperv support is enabled. No functional changes. Signed-off-by: Zhao Yakui Reviewed-by: Borislav Petkov --- v3->v4: Follow the comments to refine the commit log. v4->v5: No change --- arch/x86/Kconfig | 3 +++ arch/x86/include/asm/hardirq.h | 2 +- arch/x86/kernel/irq.c | 2 +- arch/x86/xen/Kconfig | 1 + drivers/hv/Kconfig | 1 + 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 62fc3fd..2fc9297 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -791,6 +791,9 @@ config QUEUED_LOCK_STAT behavior of paravirtualized queued spinlocks and report them on debugfs. +config X86_HV_CALLBACK_VECTOR + def_bool n + source "arch/x86/xen/Kconfig" config KVM_GUEST diff --git a/arch/x86/include/asm/hardirq.h b/arch/x86/include/asm/hardirq.h index d9069bb..0753379 100644 --- a/arch/x86/include/asm/hardirq.h +++ b/arch/x86/include/asm/hardirq.h @@ -37,7 +37,7 @@ typedef struct { #ifdef CONFIG_X86_MCE_AMD unsigned int irq_deferred_error_count; #endif -#if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN) +#ifdef CONFIG_X86_HV_CALLBACK_VECTOR unsigned int irq_hv_callback_count; #endif #if IS_ENABLED(CONFIG_HYPERV) diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 59b5f2e..a147826 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c @@ -134,7 +134,7 @@ int arch_show_interrupts(struct seq_file *p, int prec) seq_printf(p, "%10u ", per_cpu(mce_poll_count, j)); seq_puts(p, " Machine check polls\n"); #endif -#if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN) +#ifdef CONFIG_X86_HV_CALLBACK_VECTOR if (test_bit(HYPERVISOR_CALLBACK_VECTOR, system_vectors)) { seq_printf(p, "%*s: ", prec, "HYP"); for_each_online_cpu(j) diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig index e07abef..ba5a418 100644 --- a/arch/x86/xen/Kconfig +++ b/arch/x86/xen/Kconfig @@ -7,6 +7,7 @@ config XEN bool "Xen guest support" depends on PARAVIRT select PARAVIRT_CLOCK + select X86_HV_CALLBACK_VECTOR depends on X86_64 || (X86_32 && X86_PAE) depends on X86_LOCAL_APIC && X86_TSC help diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 1c1a251..cafcb97 100644 --- a/drivers/hv/Kconfig +++ b/drivers/hv/Kconfig @@ -6,6 +6,7 @@ config HYPERV tristate "Microsoft Hyper-V client drivers" depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST select PARAVIRT + select X86_HV_CALLBACK_VECTOR help Select this option to run Linux as a Hyper-V client operating system. -- 2.7.4