[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SJ1PR11MB6083849D1AEF44806C4D669AFCEDA@SJ1PR11MB6083.namprd11.prod.outlook.com>
Date: Fri, 8 Sep 2023 18:51:03 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: "babu.moger@....com" <babu.moger@....com>,
"Chatre, Reinette" <reinette.chatre@...el.com>,
"james.morse@....com" <james.morse@....com>
CC: Amit Singh Tomar <amitsinght@...vell.com>,
"Yu, Fenghua" <fenghua.yu@...el.com>,
George Cherian <gcherian@...vell.com>,
"robh@...nel.org" <robh@...nel.org>,
"peternewman@...gle.com" <peternewman@...gle.com>,
Drew Fustini <dfustini@...libre.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: resctrl2 - status
> > Can you try this out on an AMD system. I think I covered most of the
> > existing AMD resctrl features, but I have no machine to test the code
> > on, so very likely there are bugs in these code paths.
> >
> > I'd like to make any needed changes now, before I start breaking this
> > into reviewable bite-sized patches to avoid too much churn.
>
> I tried your latest code briefly on my system. Unfortunately, I could
> not get it to work on my AMD system.
>
> # git branch -a
> next
> * resctrl2_v65
> # ]# uname -r
> 6.5.0+
> #lsmod |grep rdt
> rdt_show_ids 12288 0
> rdt_mbm_local_bytes 12288 0
> rdt_mbm_total_bytes 12288 0
> rdt_llc_occupancy 12288 0
> rdt_l3_cat 16384 0
>
> # lsmod |grep mbe
> amd_mbec 16384 0
>
> I could not get rdt_l3_mba
>
> # modprobe rdt_l3_mba
> modprobe: ERROR: could not insert 'rdt_l3_mba': No such device
>
> I don't see any data for the default group either.
>
> mount -t resctrl resctrl /sys/fs/resctrl/
>
> cd /sys/fs/resctrl/mon_data/mon_L3_00
>
> cat mbm_summary
> n/a n/a /
Babu,
Thank a bunch for taking this for a quick spin. There's several bits of
good news there. Several modules automatically loaded as expected.
Nothing went "OOPS" and crashed the system.
Here’s the code that the rdt_l3_mba module runs that can cause failure
to load with "No such device"
if (!boot_cpu_has(X86_FEATURE_RDT_A)) {
pr_debug("No RDT allocation support\n");
return -ENODEV;
}
mba_features = cpuid_ebx(0x10);
if (!(mba_features & BIT(3))) {
pr_debug("No RDT MBA allocation\n");
return -ENODEV;
}
I assume the first test must have succeeded (same code in rdt_l3_cat, and
that loaded OK). So must be the second. How does AMD enumerate MBA
support?
Less obvious what is the root cause of the mbm_summary file to fail to
show any data. rdt_mbm_local_bytes and rdt_mbm_total_bytes modules
loaded OK. So I'm looking for the right CPUID bits to detect memory bandwidth
monitoring.
-Tony
Powered by blists - more mailing lists