Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp1369177pxb; Fri, 1 Oct 2021 09:11:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBRHKi9RE4+Iv3FPO/npGm3BZQNckRrNcr4PN1nA63EZ79Duc31UOfU1yI2ZNKQRqVP5LS X-Received: by 2002:a17:906:2691:: with SMTP id t17mr6957811ejc.522.1633104716190; Fri, 01 Oct 2021 09:11:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633104716; cv=none; d=google.com; s=arc-20160816; b=HkW76ZzIzew4agd7J/d1sNIqQkN1seIEIZm/ZKoQgx/BlFNqIfAng/eLl0eHC7gNCk hCQldoGiVfeUdxXLElQZuLaL7M8Ay7AZqLop5QUjjU0f1tfLOcfgc6kqAy3vxiQ+8idx vPW4z/BTXsMwJJX8f2Svx3Vek5Gz8BMvnXasxlHMbByt0H6amOpsYtXZ+EexD1eD3ou5 4qVzXsbC6dSI03jKTlNZ6N1moX/1qfZ/+54f1QO2mIJxRwlAsCd+N+j7nHogFmdw0A5t rLaWktKRvOWmpzh1XSsG3TX9j5nGRov11EQ2wwSwnq5cu4bTXqfZnzNRC1U00jQhRGQc GqcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=HkZaY/9DnKF7v+IB9lRON/U3VAcyeiLdP5u04HcqiBI=; b=gSkPHsDoIbgWpaC1pgEq/Gx5pHkE5JfTedjhehusefpA7lVFTU3yxGID0EfTyGsCm5 r00JQgd1UeHNDlk+hpjHkYJA+YRyEV+HuU86x7rbY3tqEHbUhcDqNyyY2rEWVlkIAzDB dbIg24DbrmAySY2zsDI6qU6vLxKYoIlO2GesCxHa17HId8aIqor+VA2aoXEHZ1PtKnUH 4YOCmLxmc7gN/C3Pd15A2adwK8xlfclscV9qsm+hdkbHA8ie77sUd0m/+JFAVr9+zvSe OzVBIPIT5q5XaOpjxe/kp+VpldrFQYkJttK8uQVGOQLQPeXHVA27bB5EBggwgNW+Kqk4 mi0Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g14si7752898edj.523.2021.10.01.09.11.28; Fri, 01 Oct 2021 09:11:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355150AbhJAQDK (ORCPT + 99 others); Fri, 1 Oct 2021 12:03:10 -0400 Received: from foss.arm.com ([217.140.110.172]:46208 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355148AbhJAQDK (ORCPT ); Fri, 1 Oct 2021 12:03:10 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C1434101E; Fri, 1 Oct 2021 09:01:25 -0700 (PDT) Received: from [10.1.196.28] (eglon.cambridge.arm.com [10.1.196.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F311C3F766; Fri, 1 Oct 2021 09:01:23 -0700 (PDT) Subject: Re: [PATCH v1 13/20] x86/recstrl: Allow per-rmid arch private storage to be reset To: "tan.shaopeng@fujitsu.com" , "'x86@kernel.org'" , "'linux-kernel@vger.kernel.org'" Cc: 'Fenghua Yu' , 'Reinette Chatre' , 'Thomas Gleixner' , 'Ingo Molnar' , 'Borislav Petkov' , 'H Peter Anvin' , 'Babu Moger' , "'shameerali.kolothum.thodi@huawei.com'" , 'Jamie Iles' , 'D Scott Phillips OS' , "'lcherian@marvell.com'" , "'bobo.shaobowang@huawei.com'" References: <20210729223610.29373-14-james.morse@arm.com> From: James Morse Message-ID: Date: Fri, 1 Oct 2021 17:01:22 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp Content-Language: en-GB Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Shaopeng Tan, On 24/09/2021 07:34, tan.shaopeng@fujitsu.com wrote: >> To abstract the rmid counters into a helper that returns the number of bytes >> counted, architecture specific per-rmid state is needed. >> >> It needs to be possible to reset this hidden state, as the values may outlive the >> life of an rmid, or the mount time of the filesystem. >> >> mon_event_read() is called with first = true when an rmid is first allocated in >> mkdir_mondata_subdir(). Add resctrl_arch_reset_rmid() and call it from >> __mon_event_count()'s rr->first check. >> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c >> b/arch/x86/kernel/cpu/resctrl/monitor.c >> index af60e154f0ed..3b8b29470a5c 100644 >> --- a/arch/x86/kernel/cpu/resctrl/monitor.c >> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c >> @@ -137,7 +137,34 @@ static inline struct rmid_entry *__rmid_entry(u32 rmid) >> return entry; >> } >> >> -static u64 __rmid_read(u32 rmid, u32 eventid) >> +static struct arch_mbm_state *get_arch_mbm_state(struct rdt_hw_domain >> *hw_dom, >> + u32 rmid, >> + enum resctrl_event_id >> eventid) >> +{ >> + switch (eventid) { >> + case QOS_L3_OCCUP_EVENT_ID: >> + return NULL; >> + case QOS_L3_MBM_TOTAL_EVENT_ID: >> + return &hw_dom->arch_mbm_total[rmid]; >> + case QOS_L3_MBM_LOCAL_EVENT_ID: >> + return &hw_dom->arch_mbm_local[rmid]; >> + } >> + > > Since it is unexpected to come here, > it might be better to add WARN_ON. Sure. (it'll be the 'once' version to avoid spamming the console) I'm relying on the compiler generating a warning a built-time here if a new enum entry is ever added, but it can't hurt to warning if someone passes something totally crazy to it. > In addition, I have tested these patches on Intel(R) Xeon(R) Gold 6254 CPU with > resctrl selftest. It is no problem. Good to know, thanks! Thanks, James