Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp142264ybl; Tue, 10 Dec 2019 19:31:50 -0800 (PST) X-Google-Smtp-Source: APXvYqy4mVgSrRiqzZj3TiZpDvkw6Jyde4KIjJFrFGo+ExEt9EDYqv/XXXLCICC3Fst89/KLZqIp X-Received: by 2002:a05:6830:15a:: with SMTP id j26mr772283otp.137.1576035110279; Tue, 10 Dec 2019 19:31:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576035110; cv=none; d=google.com; s=arc-20160816; b=RCb59mhF8JARv4fIOmytHNgRm051xbZYn3Coqevc3XIGTAtrua44tkgYDG1Loox0nm dSOF43TFGbKNHLf1oT/XJmfg89LC70aXuC7QqtqDjrzeu7TRlZOI1UsgX+mlVX8pz+Uw VjyzL8V/LG1O84Nm22YwG/f15cAOBvqLc/VGGJisjK7e2Mp1hO4ALglIA9ihLOj0bQGu wrUSim9lOZnLWSLAhVJLO+ml7QezR3p8KC9hLyavWHIfm9ho+zse25mTugIF773XJFJJ 4OkOnKRjg1nbKXYBicKG2jPwOkc9tHvjp2dYy0WmSogqOYCH/Wsu6tuhntLOnsYGw2Lg Y5CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=8p/Q2bxZeO5bi1EVw6Q757/wo4JM84hhuXgjbNxgF2Q=; b=XI9rrmJjLJH5+Phq5X9gOLjfp5h2AuhyOaHSJVyjEOblLAq1nPILm4qiBh9GTBq/Dh lcovJ68guWNHmwmfa8b9QA7qONzVAnZreOLZj7LXm/8l+yzBQ3BCzcipRnoDZS16iWMX KszJQ2zpmjBWssVS0bi9QX+x0sA5wTJkKcr0w27bIaKpJmcLVnmnNbNRtdGi/WJOumVd UiFDW4Rj3YN8p/oOaXOZok1Yuco4JX1crIA6KQsffmciSLEkQdTJGH0SjhTjpYsxft9p CvoYEGzBSHGEa5ll9fqoS97U47qk2gfLy6QFHEHqaiw5sPva1dSfh3RzPJ02gYFoRzPz nYSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=CTaMO3gL; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n15si264461otf.302.2019.12.10.19.31.37; Tue, 10 Dec 2019 19:31:50 -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; dkim=pass header.i=@lca.pw header.s=google header.b=CTaMO3gL; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726989AbfLKDbC (ORCPT + 99 others); Tue, 10 Dec 2019 22:31:02 -0500 Received: from mail-qt1-f194.google.com ([209.85.160.194]:40029 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726642AbfLKDbB (ORCPT ); Tue, 10 Dec 2019 22:31:01 -0500 Received: by mail-qt1-f194.google.com with SMTP id t17so4977593qtr.7 for ; Tue, 10 Dec 2019 19:31:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8p/Q2bxZeO5bi1EVw6Q757/wo4JM84hhuXgjbNxgF2Q=; b=CTaMO3gLfuaJ629CA6r7J81pnyc0ggmIBBsrNr4sc8F87lghO/nLJ0eQcHdGAglk+Y Sv4PDb2qK+CA/BwoU4fRRGfTs8CGsD673z0q3bOiyqLTaqNVvTavhake+6dSBcC1g8zv TMoKoTlAKLuccLOHw8a6xhS08vWUJuoaSTK7gELYbwVuZz9IdB/bTEQzQhWAVB1rfJX7 kgnlWU/2ySMLxuPSdPHQb/2FF+PghG2bJOo4XP5oWTxlhjGB4YFrDJra2kKZQnR3unDp e1q4KgGPlQCMLLWKrB9gjJY8mRvBbTP5tYqft26HiiZI7Kd+ZVHldmNGaBHzW07T60X5 bmSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8p/Q2bxZeO5bi1EVw6Q757/wo4JM84hhuXgjbNxgF2Q=; b=WSVEetTIaUBN0CSRMZkydlPG3e/H+fde49FLZmnjMt+yuUg3dqDfjAH+MtXelY8UGZ 5qAMQksNAtJGgwCICl7NB8TxdOx0YOBkE1JZ0gqCmDK+Gh6nDQkRJOrZ6eys8twWdNqB 7ss16nOP/pPRgkY4WgqF+Wi/Y3c9dfbPx4u3szN8IvsnSRj5Zl34GQctzo5bJT5MfHoX X3iOMJ9kV4UOz52Y83kmVsYuwb/1/hP8MxXlYd73ZsEkPMZHBU0WGcqc3k9r4i/RIXW/ TnXjVq5OwsgxElgQ+TTlmMJ4aBqxlBVtq2ms8PFxpZI9G3BC2hl2gxT5bYWPZZ0MAZHa M/fQ== X-Gm-Message-State: APjAAAU/n1BEz1P16PSZVADXRpMHKA8lz8EEWbuARvypxa6NpdreWh7s UVakcj48F7S+O/megZCjTFBU1A== X-Received: by 2002:aed:3be1:: with SMTP id s30mr1002632qte.163.1576035060751; Tue, 10 Dec 2019 19:31:00 -0800 (PST) Received: from ovpn-123-154.rdu2.redhat.com (pool-71-184-117-43.bstnma.fios.verizon.net. [71.184.117.43]) by smtp.gmail.com with ESMTPSA id u16sm249382qku.19.2019.12.10.19.30.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Dec 2019 19:30:59 -0800 (PST) From: Qian Cai To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de Cc: reinette.chatre@intel.com, fenghua.yu@intel.com, hpa@zytor.com, john.stultz@linaro.org, sboyd@kernel.org, tony.luck@intel.com, tj@kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, Qian Cai Subject: [PATCH v2] x86/resctrl: fix an imbalance in domain_remove_cpu Date: Tue, 10 Dec 2019 22:30:42 -0500 Message-Id: <20191211033042.2188-1-cai@lca.pw> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A system that supports resource monitoring may have multiple resources while not all of these resources are capable of monitoring. Monitoring related state is initialized only for resources that are capable of monitoring and correspondingly this state should subsequently only be removed from these resources that are capable of monitoring. domain_add_cpu() calls domain_setup_mon_state() only when r->mon_capable is true where it will initialize d->mbm_over. However, domain_remove_cpu() calls cancel_delayed_work(&d->mbm_over) without checking r->mon_capable resulting in an attempt to cancel d->mbm_over on all resources, even those that never initialized d->mbm_over because they are not capable of monitoring. Hence, it triggers a debugobjects warning when offlining CPUs because those timer debugobjects are never initialized. ODEBUG: assert_init not available (active state 0) object type: timer_list hint: 0x0 WARNING: CPU: 143 PID: 789 at lib/debugobjects.c:484 debug_print_object+0xfe/0x140 Hardware name: HP Synergy 680 Gen9/Synergy 680 Gen9 Compute Module, BIOS I40 05/23/2018 RIP: 0010:debug_print_object+0xfe/0x140 Call Trace: debug_object_assert_init+0x1f5/0x240 del_timer+0x6f/0xf0 try_to_grab_pending+0x42/0x3c0 cancel_delayed_work+0x7d/0x150 resctrl_offline_cpu+0x3c0/0x520 cpuhp_invoke_callback+0x197/0x1120 cpuhp_thread_fun+0x252/0x2f0 smpboot_thread_fn+0x255/0x440 kthread+0x1e6/0x210 ret_from_fork+0x3a/0x50 Fixes: e33026831bdb ("x86/intel_rdt/mbm: Handle counter overflow") Signed-off-by: Qian Cai --- v2: update the commit log thanks to Reinette. arch/x86/kernel/cpu/resctrl/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c index 03eb90d00af0..89049b343c7a 100644 --- a/arch/x86/kernel/cpu/resctrl/core.c +++ b/arch/x86/kernel/cpu/resctrl/core.c @@ -618,7 +618,7 @@ static void domain_remove_cpu(int cpu, struct rdt_resource *r) if (static_branch_unlikely(&rdt_mon_enable_key)) rmdir_mondata_subdir_allrdtgrp(r, d->id); list_del(&d->list); - if (is_mbm_enabled()) + if (r->mon_capable && is_mbm_enabled()) cancel_delayed_work(&d->mbm_over); if (is_llc_occupancy_enabled() && has_busy_rmid(r, d)) { /* -- 2.21.0 (Apple Git-122.2)