mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-11-30 19:11:16 +00:00
EDAC/amd64: Issue probing messages only on properly detected hardware
amd64_edac was converted to CPU family autoprobing (from PCI device IDs) to not have to add a new PCI device ID each time a new platform is shipped but to support the whole family out-of-the-box. However, this caused a lot of noise in dmesg even when the machine doesn't have ECC DIMMs or ECC has been disabled in the BIOS: EDAC MC: Ver: 3.0.0 EDAC amd64: F17h detected (node 0). EDAC amd64: Node 0: DRAM ECC disabled. EDAC amd64: F17h detected (node 1). EDAC amd64: Node 1: DRAM ECC disabled. EDAC amd64: F17h detected (node 2). EDAC amd64: Node 2: DRAM ECC disabled. EDAC amd64: F17h detected (node 3). EDAC amd64: Node 3: DRAM ECC disabled. EDAC amd64: F17h detected (node 4). EDAC amd64: Node 4: DRAM ECC disabled. EDAC amd64: F17h detected (node 5). EDAC amd64: Node 5: DRAM ECC disabled. EDAC amd64: F17h detected (node 6). EDAC amd64: Node 6: DRAM ECC disabled. EDAC amd64: F17h detected (node 7). EDAC amd64: Node 7: DRAM ECC disabled. or even $ grep EDAC dmesg.log | sed 's/\[.*\] //' | sort | uniq -c 128 EDAC amd64: F17h detected (node 0). 128 EDAC amd64: Node 0: DRAM ECC disabled. 1 EDAC MC: Ver: 3.0.0 on a big machine. Yap, that's once per CPU for 128 of them. So move the init messages after all probing has succeeded to avoid unnecessary spew in dmesg. Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20210119164141.17417-1-bp@alien8.de
This commit is contained in:
parent
1865bc71a8
commit
4cbcb73b1c
@ -3528,8 +3528,7 @@ static bool ecc_enabled(struct amd64_pvt *pvt)
|
||||
MSR_IA32_MCG_CTL, nid);
|
||||
}
|
||||
|
||||
amd64_info("Node %d: DRAM ECC %s.\n",
|
||||
nid, (ecc_en ? "enabled" : "disabled"));
|
||||
edac_dbg(3, "Node %d: DRAM ECC %s.\n", nid, (ecc_en ? "enabled" : "disabled"));
|
||||
|
||||
if (!ecc_en || !nb_mce_en)
|
||||
return false;
|
||||
@ -3689,11 +3688,6 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
amd64_info("%s %sdetected (node %d).\n", fam_type->ctl_name,
|
||||
(pvt->fam == 0xf ?
|
||||
(pvt->ext_model >= K8_REV_F ? "revF or later "
|
||||
: "revE or earlier ")
|
||||
: ""), pvt->mc_node_id);
|
||||
return fam_type;
|
||||
}
|
||||
|
||||
@ -3865,6 +3859,12 @@ static int probe_one_instance(unsigned int nid)
|
||||
goto err_enable;
|
||||
}
|
||||
|
||||
amd64_info("%s %sdetected (node %d).\n", fam_type->ctl_name,
|
||||
(pvt->fam == 0xf ?
|
||||
(pvt->ext_model >= K8_REV_F ? "revF or later "
|
||||
: "revE or earlier ")
|
||||
: ""), pvt->mc_node_id);
|
||||
|
||||
dump_misc_regs(pvt);
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user