[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <15febd4d-11d9-8456-60ee-994e66efdc98@intel.com>
Date: Wed, 1 Sep 2021 14:31:15 -0700
From: Reinette Chatre <reinette.chatre@...el.com>
To: James Morse <james.morse@....com>, <x86@...nel.org>,
<linux-kernel@...r.kernel.org>
CC: Fenghua Yu <fenghua.yu@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
H Peter Anvin <hpa@...or.com>,
Babu Moger <Babu.Moger@....com>,
<shameerali.kolothum.thodi@...wei.com>,
Jamie Iles <jamie@...iainc.com>,
"D Scott Phillips OS" <scott@...amperecomputing.com>,
<lcherian@...vell.com>, <bobo.shaobowang@...wei.com>
Subject: Re: [PATCH v1 11/20] x86/resctrl: Calculate bandwidth from the total
bytes counter
Hi James,
Apologies but I find the changelog hard to understand.
On 7/29/2021 3:36 PM, James Morse wrote:
> mbm_bw_count() maintains its own copy of prev_msr to allow it to
> calculate the bandwidth as the number of chunks counted since the
> last time mbm_bw_count() was invoked.
ok, I understand there is an extra copy
>
> The prev_msr and chunks values are in a format specific to the
> architecture. MPAM's monitor scaling can be enabled for some
> counters and not others. If the value is changed once the bandwidth
> counter passes some threshold, the prev_msr values need to be
> converted to the new scale. Having two prev_msr values is a
> hindrance to moving this logic behind an architecture specific
> function that returns the counters number of bytes.
Above talks about format ... it is not clear how it connects to
introduction where there was mention of an "extra copy"
>
> Change mbm_bw_count() to calculate the total number of bytes the
> counter has seen in the same way as __mon_event_count(), then
> calculate the bandwidth from that. prev_bw_msr is replaced by
> prev_bw_chunks, the chunks value from the last time mbm_bw_count()
> was invoked.
It is not clear to me how this change connects to either the extra copy
or the format comments. It describes the changes made but it is not
clear what the problem being solved is.
It is also not clear to me what the impact of this change on the non
software controller flow is (where data is read from user space). What
is the impact now that these two flows no longer track the previous read
value separately? Would user space still see similar data as before this
change? How would the software controller sharing control of prev_msr
affect the data?
Reinette
Powered by blists - more mailing lists