Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp900679ybl; Wed, 11 Dec 2019 09:14:47 -0800 (PST) X-Google-Smtp-Source: APXvYqwcH0cYFXnz1gegjU3J+Xvwaz8XnZiB2qsLg1FWJRbf7GCoWZ9sEamQyUq75HBstsQ8Zj8M X-Received: by 2002:a9d:6b06:: with SMTP id g6mr3079455otp.93.1576084487276; Wed, 11 Dec 2019 09:14:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576084487; cv=none; d=google.com; s=arc-20160816; b=xVu4ZaH+KKAVycDMEitShHYrKgsTTDgsR8qTKT+jljyqPmZRg3biQqFzyEDIrem6MY G/juF8SpUhGN1QRYUi8xT9j/JhkOqKi23YgeNVJiB/FHDrGoa3DdxHrq6bmBWlNXic4N Ys8TlmhJsAChPN/yehLQAxadSWlX96y0MGd9I1Pd+859CRh+7+Fqcnro8D/O+GoVM3sW Av84pqNyY+1exlmjQeGzWEmcGEq6n1xo1pmKde8vf5mso5gy8wakGBxNjah4peH7Z1a9 I35MqeQhZ0xdBoUPrGuQfXFLaYqwYyD58UAJxny4GtWTLmYkXBJsBo0GSwu/MN1i1UA3 eSBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=nr4/r9nD8FxLIRM6D0bwwzZmIp3S6AW5d1q0Vex9SMo=; b=qE/DNZP3wVfcyX0GOu2EHhZVv283ruFnaGyHQSudx1Bpeef1Hz7C3mSeyBaxPO2joe HJdHup4zJx8uyt5M0AyJHygHWIjI29/G7DeaA/G3lghY4eJR5g6fp1w143nzXZQuvPwx 9ITCaAb8FDmXHwH6cIHwQSr069Vb3K1K60Rb4TWneLOBe0OPn4bkCYK7z53hRtHElmKo 65ZlffqiZTC80vKPzgMTFfy6K7EqqOM0dlTcn+4K6YQ+IYWUWf+hhaBWWY3XkSK20Rpe lZEEHAm3E9qzc+a2ZUdhWfI4h75iZBG01rAszGYep+8L5movlGLM04pIWaLO8JrwEwxw /vfw== 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 k7si1474378oia.44.2019.12.11.09.14.30; Wed, 11 Dec 2019 09:14:47 -0800 (PST) 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 S1730999AbfLKRND (ORCPT + 99 others); Wed, 11 Dec 2019 12:13:03 -0500 Received: from mga02.intel.com ([134.134.136.20]:25315 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729512AbfLKRND (ORCPT ); Wed, 11 Dec 2019 12:13:03 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Dec 2019 09:11:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,302,1571727600"; d="scan'208";a="245357967" Received: from xshen14-linux.bj.intel.com ([10.238.155.105]) by fmsmga002.fm.intel.com with ESMTP; 11 Dec 2019 09:11:42 -0800 From: Xiaochen Shen To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, tony.luck@intel.com, fenghua.yu@intel.com, reinette.chatre@intel.com Cc: x86@kernel.org, linux-kernel@vger.kernel.org, pei.p.jia@intel.com, xiaochen.shen@intel.com Subject: [PATCH] x86/resctrl: Check monitoring static key in MBM overflow handler Date: Thu, 12 Dec 2019 01:41:43 +0800 Message-Id: <1576086103-11640-1-git-send-email-xiaochen.shen@intel.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently, there are three static keys in resctrl file system: rdt_mon_enable_key and rdt_alloc_enable_key indicate if monitoring feature and allocation feature is enabled respectively. rdt_enable_key is enabled when either monitoring feature or allocation feature is enabled. If no monitoring feature is supported (either hardware doesn't support monitoring feature or the feature is disabled by kernel command line option "rdt="), rdt_enable_key is still enabled but rdt_mon_enable_key is disabled. MBM is a monitoring feature. MBM overflow handler intends to check if monitoring feature is not enabled for fast return. So the accurate check here is to check rdt_mon_enable_key instead of rdt_enable_key. Fixes: e33026831bdb ("x86/intel_rdt/mbm: Handle counter overflow") Signed-off-by: Xiaochen Shen Reviewed-by: Fenghua Yu Reviewed-by: Reinette Chatre --- arch/x86/kernel/cpu/resctrl/internal.h | 1 + arch/x86/kernel/cpu/resctrl/monitor.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index e49b77283924..181c992f448c 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -57,6 +57,7 @@ static inline struct rdt_fs_context *rdt_fc2context(struct fs_context *fc) } DECLARE_STATIC_KEY_FALSE(rdt_enable_key); +DECLARE_STATIC_KEY_FALSE(rdt_mon_enable_key); /** * struct mon_evt - Entry in the event list of a resource diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c index 397206f23d14..773124b0e18a 100644 --- a/arch/x86/kernel/cpu/resctrl/monitor.c +++ b/arch/x86/kernel/cpu/resctrl/monitor.c @@ -514,7 +514,7 @@ void mbm_handle_overflow(struct work_struct *work) mutex_lock(&rdtgroup_mutex); - if (!static_branch_likely(&rdt_enable_key)) + if (!static_branch_likely(&rdt_mon_enable_key)) goto out_unlock; d = get_domain_from_cpu(cpu, &rdt_resources_all[RDT_RESOURCE_L3]); @@ -543,7 +543,7 @@ void mbm_setup_overflow_handler(struct rdt_domain *dom, unsigned long delay_ms) unsigned long delay = msecs_to_jiffies(delay_ms); int cpu; - if (!static_branch_likely(&rdt_enable_key)) + if (!static_branch_likely(&rdt_mon_enable_key)) return; cpu = cpumask_any(&dom->cpu_mask); dom->mbm_work_cpu = cpu; -- 1.8.3.1