On Wed, Jan 31, 2024 at 9:30 AM Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > The HMAT messages printed at boot, beyond being noisy, can also print > details for nodes that are not yet enabled. The primary method to > consume HMAT details is via sysfs, and the sysfs interface gates what is > emitted by whether the node is online or not. Hide the messages by > default by moving them from "info" to "debug" log level. > > Otherwise, these prints are just a pretty-print way to dump the ACPI > HMAT table. It has always been the case that post-analysis was required > for these messages to map proximity-domains to Linux NUMA nodes, and as > Priya points out that analysis also needs to consider whether the > proximity domain is marked "enabled" in the SRAT. > > Reported-by: Priya Autee <priya.v.autee@xxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > --- > drivers/acpi/numa/hmat.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/drivers/acpi/numa/hmat.c b/drivers/acpi/numa/hmat.c > index d6b85f0f6082..5331abc7c956 100644 > --- a/drivers/acpi/numa/hmat.c > +++ b/drivers/acpi/numa/hmat.c > @@ -409,9 +409,9 @@ static __init int hmat_parse_locality(union acpi_subtable_headers *header, > return -EINVAL; > } > > - pr_info("Locality: Flags:%02x Type:%s Initiator Domains:%u Target Domains:%u Base:%lld\n", > - hmat_loc->flags, hmat_data_type(type), ipds, tpds, > - hmat_loc->entry_base_unit); > + pr_debug("Locality: Flags:%02x Type:%s Initiator Domains:%u Target Domains:%u Base:%lld\n", > + hmat_loc->flags, hmat_data_type(type), ipds, tpds, > + hmat_loc->entry_base_unit); > > inits = (u32 *)(hmat_loc + 1); > targs = inits + ipds; > @@ -422,9 +422,9 @@ static __init int hmat_parse_locality(union acpi_subtable_headers *header, > value = hmat_normalize(entries[init * tpds + targ], > hmat_loc->entry_base_unit, > type); > - pr_info(" Initiator-Target[%u-%u]:%u%s\n", > - inits[init], targs[targ], value, > - hmat_data_type_suffix(type)); > + pr_debug(" Initiator-Target[%u-%u]:%u%s\n", > + inits[init], targs[targ], value, > + hmat_data_type_suffix(type)); > > hmat_update_target(targs[targ], inits[init], > mem_hier, type, value); > @@ -452,9 +452,9 @@ static __init int hmat_parse_cache(union acpi_subtable_headers *header, > } > > attrs = cache->cache_attributes; > - pr_info("Cache: Domain:%u Size:%llu Attrs:%08x SMBIOS Handles:%d\n", > - cache->memory_PD, cache->cache_size, attrs, > - cache->number_of_SMBIOShandles); > + pr_debug("Cache: Domain:%u Size:%llu Attrs:%08x SMBIOS Handles:%d\n", > + cache->memory_PD, cache->cache_size, attrs, > + cache->number_of_SMBIOShandles); > > target = find_mem_target(cache->memory_PD); > if (!target) > @@ -513,9 +513,9 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade > } > > if (hmat_revision == 1) > - pr_info("Memory (%#llx length %#llx) Flags:%04x Processor Domain:%u Memory Domain:%u\n", > - p->reserved3, p->reserved4, p->flags, p->processor_PD, > - p->memory_PD); > + pr_debug("Memory (%#llx length %#llx) Flags:%04x Processor Domain:%u Memory Domain:%u\n", > + p->reserved3, p->reserved4, p->flags, p->processor_PD, > + p->memory_PD); > else > pr_info("Memory Flags:%04x Processor Domain:%u Memory Domain:%u\n", > p->flags, p->processor_PD, p->memory_PD); >