Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4431077yba; Mon, 29 Apr 2019 20:49:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqyvYbHeVNn7C3XlOYJrpwPDiSWCNqjtahpWJfxLrq47RiuzboHYdru4C0MzkAHoVUPsaY7S X-Received: by 2002:a17:902:9f8c:: with SMTP id g12mr27179449plq.256.1556596173142; Mon, 29 Apr 2019 20:49:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556596173; cv=none; d=google.com; s=arc-20160816; b=CkjEr1Lx5rLk9GZF2gKAZ0aYXZxPxRLBNshLsTS1SWi3UteWBv3l/Zy/UYQM8F8Bay xfB/CzQQFTaHc4N7Igw+YNvWbRICzTVrUqNaezno6OKceaudV+cTZMs5Wcbn9tbVC3KO xN6svSf/N5qUYRR4KPZ8cpmuWUqXYwPazncNAvQVLSKMgvAoLjosQCUIEUE+csEOv+P+ ccg9qhcayhdBnYFGWrDlYqWYRo/7N10/JyitmlfhuI7ueeN4V7XQj33EPBAV0/aJLByu GYqwH7nf8Y8KI5K2eVZOcmHbmNJIHk1jIfcPKrME5rxn6+4FgpudmqjnnXNysXDuUEoI IRcg== 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=SoHbkNfb+TkGyZUrpoiWdYTjYgjw4rpLGBtpGZKryMM=; b=x09YVXdCVigNMS74dN9Ub8Nlg14iE8zWu8GGbdqaFG/83pU7t/p2+tuhiGFkaN16IE nkvVOSf4LRe60gsgF342UXrXsD3e4RjvI5P/W9gRZKSCyxcrKYvJy9DhjhVv1KXxG30V RKpIHX2rs25+qpwSIb6SZ8hsryEbNZ+D4yzqZAROAZYJ5etZM5J9UIe60O4Iveboi2yh ddMLZEEdDkdxulkSOagcFRbggM1lTOflXK6HiqjaZX1lxtZxPUw3bOQuD2n+QfL3VExI NKY0y9SX5XgqwBarQ1laM47I0qv7Qet7pPFwITxWwixcB+cKGDBZCtet6/JbbXd/gxNA eZ+Q== 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 cn16si37884811plb.174.2019.04.29.20.49.17; Mon, 29 Apr 2019 20:49:33 -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 S1730085AbfD3DsV (ORCPT + 99 others); Mon, 29 Apr 2019 23:48:21 -0400 Received: from mga18.intel.com ([134.134.136.126]:54863 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729933AbfD3DsU (ORCPT ); Mon, 29 Apr 2019 23:48:20 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Apr 2019 20:48:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,412,1549958400"; d="scan'208";a="138598241" Received: from genxtest-ykzhao.sh.intel.com ([10.239.143.71]) by orsmga008.jf.intel.com with ESMTP; 29 Apr 2019 20:48:18 -0700 From: Zhao Yakui To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: tglx@linutronix.de, bp@alien8.de, Zhao Yakui Subject: [PATCH v6 1/4] x86/Kconfig: Add new config symbol to unify conditional definition of hv_irq_callback_count Date: Tue, 30 Apr 2019 11:45:23 +0800 Message-Id: <1556595926-17910-2-git-send-email-yakui.zhao@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1556595926-17910-1-git-send-email-yakui.zhao@intel.com> References: <1556595926-17910-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 Reviewed-by: Thomas Gleixner --- v3->v4: Follow the comments to refine the commit log. --- 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