From: Dave Martin <Dave.Martin@arm.com>
To: Peter Newman <peternewman@google.com>
Cc: Babu Moger <babu.moger@amd.com>,
corbet@lwn.net, fenghua.yu@intel.com, reinette.chatre@intel.com,
tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
paulmck@kernel.org, rdunlap@infradead.org, tj@kernel.org,
peterz@infradead.org, yanjiewtw@gmail.com, kim.phillips@amd.com,
lukas.bulwahn@gmail.com, seanjc@google.com, jmattson@google.com,
leitao@debian.org, jpoimboe@kernel.org,
rick.p.edgecombe@intel.com, kirill.shutemov@linux.intel.com,
jithu.joseph@intel.com, kai.huang@intel.com,
kan.liang@linux.intel.com, daniel.sneddon@linux.intel.com,
pbonzini@redhat.com, sandipan.das@amd.com,
ilpo.jarvinen@linux.intel.com, maciej.wieczor-retman@intel.com,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
eranian@google.com, james.morse@arm.com
Subject: Re: [RFC PATCH v3 00/17] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC)
Date: Tue, 23 Apr 2024 13:38:20 +0100 [thread overview]
Message-ID: <ZiervIprcwoApAqw@e133380.arm.com> (raw)
In-Reply-To: <CALPaoCh5DDmojnkUZPnACkq_ugwKnqCnwLHj2sV69TSTzpAL9g@mail.gmail.com>
Hi Peter,
On Mon, Apr 22, 2024 at 11:23:50AM -0700, Peter Newman wrote:
> Hi Dave,
>
> On Mon, Apr 22, 2024 at 9:33 AM Dave Martin <Dave.Martin@arm.com> wrote:
> >
> > Hi Babu,
> >
> > On Thu, Mar 28, 2024 at 08:06:33PM -0500, Babu Moger wrote:
> > > Assignment flags can be one of the following:
> > >
> > > t MBM total event is assigned
> >
> > With my MPAM hat on this looks a bit weird, although I suppose it
> > follows on from the way "mbm_total_bytes" and "mbm_local_bytes" are
> > already exposed in resctrlfs.
> >
> > From an abstract point of view, "total" and "local" are just event
> > selection criteria, additional to those in mbm_cfg_mask. The different
> > way they are treated in the hardware feels like an x86 implementation
> > detail.
> >
> > For MPAM we don't currently distinguish local from non-local traffic, so
> > I guess this just reduces to a simple on-off (i.e., "t" or nothing),
> > which I guess is tolerable.
> >
> > This might want more thought if there is an expectation that more
> > categories will be added here, though (?)
>
> There should be a path forward whenever we start supporting
> user-configured counter classes. I assume the letters a-z will be
> enough to cover all the counter classes which could be used at once.
Ack, though I'd appreciate a response on the point about "_" below in
case people missed it.
>
> >
> > > l MBM local event is assigned
> > > tl Both total and local MBM events are assigned
> > > _ None of the MBM events are assigned
> >
> > This use of '_' seems unusual. Can we not just have the empty string
> > for "nothing assigned"?
> >
> > Since every assignment is terminated by ';' or end-of-line, I don't
> > think that there would be any parsing ambiguity (?)
> >
> > >
> > > Examples:
> > >
> > > # cat /sys/fs/resctrl/info/L3_MON/mbm_assign_control
> > > non_defult_group//0=tl;1=tl;2=tl;3=tl;4=tl;5=tl;6=tl;7=tl;
> > > non_defult_group/non_default_mon1/0=tl;1=tl;2=tl;3=tl;4=tl;5=tl;6=tl;7=tl;
> > > //0=tl;1=tl;2=tl;3=tl;4=tl;5=tl;6=tl;7=tl;
> > > /default_mon1/0=tl;1=tl;2=tl;3=tl;4=tl;5=tl;6=tl;7=tl;
> > >
> > > There are four groups and all the groups have local and total event assigned.
> > >
> > > "//" - This is a default CONTROL MON group
> > >
> > > "non_defult_group//" - This is non default CONTROL MON group
> > >
> > > "/default_mon1/" - This is Child MON group of the defult group
> > >
> > > "non_defult_group/non_default_mon1/" - This is child MON group of the non default group
> > >
> > > =tl means both total and local events are assigned.
> > >
> > > e. Update the group assignment states using the interface file /sys/fs/resctrl/info/L3_MON/mbm_assign_control.
> > >
> > > The write format is similar to the above list format with addition of
> > > op-code for the assignment operation.
> >
> > With by resctrl newbie hat on:
> >
> > It feels a bit complex (for the kernel) to have userspace needing to
> > write a script into a magic file that we need to parse, specifying
> > updates to a bunch of controls already visible as objects in resctrlfs
> > in their own right.
> >
> > What's the expected use case here?
>
> I went over the use case of iterating a small number of monitors over
> a much larger number of monitoring groups here:
>
> https://lore.kernel.org/lkml/CALPaoCi=PCWr6U5zYtFPmyaFHU_iqZtZL-LaHC2mYxbETXk3ig@mail.gmail.com/
>
> >
> > If userspace really does need to switch lots of events simultaneously
> > then I guess the overhead of enumerating and poking lots of individual
> > files might be unacceptable though, and we would still need some global
> > interfaces for operations such as "unassign everything"...
>
> My main goal is for the number of parallel IPI batches to all the
> domains (or write syscalls) to be O(num_rmids / num_monitors) rather
> than O(num_rmids * num_monitors) as I need to know how frequently we
> can afford to sample the current memory bandwidth of the maximum
> number of monitoring groups supported.
Fair enough; I wasn't fully aware of the background discussions.
Cheers
---Dave
next prev parent reply other threads:[~2024-04-23 12:38 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-29 1:06 [RFC PATCH v3 00/17] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 01/17] x86/resctrl: Add support for " Babu Moger
2024-05-03 23:25 ` Reinette Chatre
2024-05-06 17:57 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 02/17] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 03/17] x86/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2024-05-03 23:26 ` Reinette Chatre
2024-05-06 19:09 ` Moger, Babu
2024-05-07 20:27 ` Reinette Chatre
2024-05-09 22:34 ` Moger, Babu
2024-05-10 3:18 ` Reinette Chatre
2024-05-10 17:01 ` Moger, Babu
2024-05-10 18:34 ` Reinette Chatre
2024-05-11 1:40 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 04/17] x86/resctrl: Introduce resctrl_file_fflags_init Babu Moger
2024-05-03 23:26 ` Reinette Chatre
2024-05-06 20:23 ` Moger, Babu
2024-05-07 20:27 ` Reinette Chatre
2024-05-10 0:23 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 05/17] x86/resctrl: Introduce the interface to display the assignment state Babu Moger
2024-05-03 23:28 ` Reinette Chatre
2024-05-07 16:28 ` Moger, Babu
2024-05-07 20:32 ` Reinette Chatre
2024-03-29 1:06 ` [RFC PATCH v3 06/17] x86/resctrl: Introduce interface to display number of ABMC counters Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 07/17] x86/resctrl: Add support to enable/disable ABMC feature Babu Moger
2024-04-04 0:30 ` Peter Newman
2024-04-04 15:16 ` Moger, Babu
2024-04-04 17:36 ` Peter Newman
2024-04-04 18:35 ` Moger, Babu
2024-04-04 18:43 ` Reinette Chatre
2024-04-04 19:01 ` Peter Newman
2024-05-16 20:03 ` Moger, Babu
2024-05-03 23:30 ` Reinette Chatre
2024-05-07 19:12 ` Moger, Babu
2024-05-07 20:32 ` Reinette Chatre
2024-05-09 21:45 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 08/17] x86/resctrl: Initialize assignable counters bitmap Babu Moger
2024-05-03 23:31 ` Reinette Chatre
2024-05-07 20:03 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 09/17] x86/resctrl: Introduce assign state for the mon group Babu Moger
2024-04-16 18:52 ` Peter Newman
2024-04-16 19:52 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 10/17] x86/resctrl: Add data structures for ABMC assignment Babu Moger
2024-05-03 23:32 ` Reinette Chatre
2024-05-07 20:40 ` Moger, Babu
2024-05-07 23:06 ` Reinette Chatre
2024-05-10 0:28 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 11/17] x86/resctrl: Introduce mbm_total_cfg and mbm_local_cfg Babu Moger
2024-05-03 23:33 ` Reinette Chatre
2024-05-08 15:57 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 12/17] x86/resctrl: Add the functionality to assign the RMID Babu Moger
2024-05-03 23:33 ` Reinette Chatre
2024-05-08 17:40 ` Moger, Babu
2024-03-29 1:06 ` [RFC PATCH v3 13/17] x86/resctrl: Add the functionality to unassign " Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 14/17] x86/resctrl: Enable ABMC by default on resctrl mount Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 15/17] x86/resctrl: Introduce the interface switch between ABMC and legacy_mbm Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 16/17] x86/resctrl: Introduce interface to list assignment states of all the groups Babu Moger
2024-03-29 1:06 ` [RFC PATCH v3 17/17] x86/resctrl: Introduce interface to modify assignment states of " Babu Moger
2024-04-17 17:45 ` Peter Newman
2024-04-17 19:39 ` Moger, Babu
2024-04-17 20:56 ` Peter Newman
2024-04-17 22:52 ` Moger, Babu
2024-05-02 23:00 ` Reinette Chatre
2024-05-03 16:14 ` Moger, Babu
2024-05-03 21:16 ` Reinette Chatre
2024-05-06 18:09 ` Moger, Babu
2024-05-02 16:21 ` Dave Martin
2024-05-02 17:52 ` Reinette Chatre
2024-05-02 18:11 ` Moger, Babu
2024-05-03 14:53 ` Dave Martin
2024-05-03 21:15 ` Reinette Chatre
2024-04-04 19:08 ` [RFC PATCH v3 00/17] x86/resctrl : Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Peter Newman
2024-04-04 20:02 ` Moger, Babu
2024-04-22 16:34 ` Dave Martin
2024-04-22 20:44 ` Moger, Babu
2024-04-23 12:37 ` Dave Martin
2024-04-24 4:15 ` Reinette Chatre
2024-04-24 14:16 ` Dave Martin
2024-04-24 19:10 ` Moger, Babu
2024-04-22 16:33 ` Dave Martin
2024-04-22 18:23 ` Peter Newman
2024-04-23 12:38 ` Dave Martin [this message]
2024-04-23 15:43 ` Moger, Babu
2024-04-23 16:17 ` Dave Martin
2024-05-01 17:48 ` Peter Newman
2024-05-02 16:25 ` Moger, Babu
2024-05-02 17:50 ` Peter Newman
2024-05-02 20:14 ` Moger, Babu
2024-05-02 23:21 ` Reinette Chatre
2024-05-03 0:57 ` Peter Newman
2024-05-03 20:44 ` Moger, Babu
2024-05-03 21:00 ` Peter Newman
2024-05-03 21:15 ` Reinette Chatre
2024-05-17 21:51 ` Peter Newman
2024-05-20 14:25 ` Moger, Babu
2024-05-20 16:00 ` Peter Newman
2024-05-20 18:03 ` Moger, Babu
2024-05-10 0:57 ` Moger, Babu
2024-05-10 2:47 ` Reinette Chatre
2024-05-03 21:14 ` Reinette Chatre
2024-05-03 23:24 ` Reinette Chatre
2024-05-06 17:18 ` Moger, Babu
2024-05-07 20:26 ` Reinette Chatre
2024-05-08 20:07 ` Moger, Babu
2024-05-08 20:41 ` Reinette Chatre
2024-05-08 23:29 ` Moger, Babu
2024-05-09 18:07 ` Reinette Chatre
2024-05-09 20:34 ` Moger, Babu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZiervIprcwoApAqw@e133380.arm.com \
--to=dave.martin@arm.com \
--cc=babu.moger@amd.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=daniel.sneddon@linux.intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=eranian@google.com \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=james.morse@arm.com \
--cc=jithu.joseph@intel.com \
--cc=jmattson@google.com \
--cc=jpoimboe@kernel.org \
--cc=kai.huang@intel.com \
--cc=kan.liang@linux.intel.com \
--cc=kim.phillips@amd.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=leitao@debian.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
--cc=maciej.wieczor-retman@intel.com \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=reinette.chatre@intel.com \
--cc=rick.p.edgecombe@intel.com \
--cc=sandipan.das@amd.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=x86@kernel.org \
--cc=yanjiewtw@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.