Messages in this thread | | | Subject | Re: [PATCH v3 06/16] arch_topology: Add support to parse and detect cache attributes | From | Gavin Shan <> | Date | Wed, 1 Jun 2022 11:29:46 +0800 |
| |
Hi Sudeep,
On 5/25/22 4:14 PM, Sudeep Holla wrote: > Currently ACPI populates just the minimum information about the last > level cache from PPTT in order to feed the same to build sched_domains. > Similar support for DT platforms is not present. > > In order to enable the same, the entire cache hierarchy information can > be built as part of CPU topoplogy parsing both on ACPI and DT platforms. > > Note that this change builds the cacheinfo early even on ACPI systems, but > the current mechanism of building llc_sibling mask remains unchanged. > > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > drivers/base/arch_topology.c | 23 ++++++++++++++++------- > 1 file changed, 16 insertions(+), 7 deletions(-) >
With below nits fixed:
Reviewed-by: Gavin Shan <gshan@redhat.com>
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c > index f73b836047cf..765723448b10 100644 > --- a/drivers/base/arch_topology.c > +++ b/drivers/base/arch_topology.c > @@ -7,6 +7,7 @@ > */ > > #include <linux/acpi.h> > +#include <linux/cacheinfo.h> > #include <linux/cpu.h> > #include <linux/cpufreq.h> > #include <linux/device.h> > @@ -775,15 +776,23 @@ __weak int __init parse_acpi_topology(void) > #if defined(CONFIG_ARM64) || defined(CONFIG_RISCV) > void __init init_cpu_topology(void) > { > + int ret, cpu; > + > reset_cpu_topology(); > + ret = parse_acpi_topology(); > + if (!ret) > + ret = of_have_populated_dt() && parse_dt_topology(); > > - /* > - * Discard anything that was parsed if we hit an error so we > - * don't use partial information. > - */ > - if (parse_acpi_topology()) > - reset_cpu_topology(); > - else if (of_have_populated_dt() && parse_dt_topology()) > + if(ret) { > + /* > + * Discard anything that was parsed if we hit an error so we > + * don't use partial information. > + */ > reset_cpu_topology(); > + return; > + } > + > + for_each_possible_cpu(cpu) > + detect_cache_attributes(cpu); > } > #endif >
# ./scripts/checkpatch.pl --codespell patch/check/0006* ERROR: space required before the open parenthesis '(' #55: FILE: drivers/base/arch_topology.c:786: + if(ret) {
Thanks, Gavin
| |