Flood of edac-related errors since 6.13
Subsystems (2)
Hi
Since 6.13, I get a flood of the following messages in the logs of my intel n100 machine, always with the exact same memory address:
jan 20 12:40:57 beelink kernel: EDAC MC: Ver: 3.0.0
jan 20 12:40:57 beelink kernel: caller igen6_probe+0x1b2/0x83b [igen6_edac] mapping multiple BARs
jan 20 12:40:57 beelink kernel: EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (POLLED) jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:40:57 beelink kernel: EDAC igen6: v2.5.1
jan 20 12:40:59 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:40:59 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:41:00 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:41:00 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:41:01 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:41:01 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:41:02 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:41:02 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:41:03 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:41:04 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 12:41:04 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 12:41:05 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
On previous kernels, I only got this single message right after booting:
jan 20 03:17:45 beelink kernel: EDAC MC: Ver: 3.0.0
jan 20 03:17:45 beelink kernel: caller igen6_probe+0x191/0x810 [igen6_edac] mapping multiple BARs
jan 20 03:17:45 beelink kernel: EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT) jan 20 03:17:45 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
jan 20 03:17:45 beelink kernel: EDAC igen6 MC0: ADDR 0x7fffffffe0
jan 20 03:17:45 beelink kernel: EDAC igen6: v2.5.1
I assume this change is because of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.13.1&id=e14232afa94445e03fc3a0291b07a68f3408c120
The system works perfectly fine otherwise and I've had the message at boot for as long as the logs go back (until mid october 2024). I didn't actually notice it before, so I'm only know questioning what's its significance.
Is there a possibility that this is a false positive, or is this definitely an indication that something is wrong with the system's memory and I should replace the DIMM? I ran memtest for about two hours earlier and it didn't report any failure.
I'd like to hear your thoughts on this.
Cheers,
Ramses
Thanks for the report.
Quoted 21 lines
From: Ramses <[email protected]>
Sent: Friday, February 7, 2025 6:29 AM
To: Linux Edac <[email protected]>
Subject: Flood of edac-related errors since 6.13Hi
Since 6.13, I get a flood of the following messages in the logs of my intel n100 machine, always with the exact same memory address:
jan 20 12:40:57 beelink kernel: EDAC MC: Ver: 3.0.0 jan 20 12:40:57 beelink
kernel: callerigen6_probe+0x1b2/0x83b[igen6_edac] mapping multiple BARs jan 20 12:40:57 beelink kernel: EDAC MC0: Giving out device to moduleigen6_edaccontrollerIntel_client_SoCMC#0: DEV 0000:00:00.0 (POLLED) jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: ADDR0x7fffffffe0jan [...]
I assume this change is because of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6
.13.1&id=e14232afa94445e03fc3a0291b07a68f3408c120
Quoted 7 lines
The system works perfectly fine otherwise and I've had the message at boot for as long as the logs go back (until mid october 2024). I didn't actually notice it before, so I'm only know questioning what's its significance.
Is there a possibility that this is a false positive, or is this definitely an indication that something is wrong with the system's memory and I should replace the DIMM?
It seemed like it was a false positive.
I guess the readout ECC log was 0xffffffffffffffff. Do you have the opportunity to build the kernel with the 'CONFIG_EDAC_DEBUG=y' option enabled and then help to take the log?
Thanks
-Qiuxu
Feb 7, 2025, 04:19 by [email protected]:
Quoted 32 lines
Thanks for the report.
Quoted 21 lines
From: Ramses <>> [email protected]>> >
Sent: Friday, February 7, 2025 6:29 AM
To: Linux Edac <>> [email protected]>> >
Subject: Flood of edac-related errors since 6.13Hi
Since 6.13, I get a flood of the following messages in the logs of my intel n100 machine, always with the exact same memory address:
jan 20 12:40:57 beelink kernel: EDAC MC: Ver: 3.0.0 jan 20 12:40:57 beelink
kernel: callerigen6_probe+0x1b2/0x83b[igen6_edac] mapping multiple BARs jan 20 12:40:57 beelink kernel: EDAC MC0: Giving out device to moduleigen6_edaccontrollerIntel_client_SoCMC#0: DEV 0000:00:00.0 (POLLED) jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR jan 20 12:40:57 beelink kernel: EDAC igen6 MC0: ADDR0x7fffffffe0jan [...]
I assume this change is because of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6
.13.1&id=e14232afa94445e03fc3a0291b07a68f3408c120Quoted 8 lines
The system works perfectly fine otherwise and I've had the message at boot for as long as the logs go back (until mid october 2024). I didn't actually notice it before, so I'm only know questioning what's its significance.
Is there a possibility that this is a false positive, or is this definitely an indication that something is wrong with the system's memory and I should replace the DIMM?
Quoted 9 lines
It seemed like it was a false positive.
I guess the readout ECC log was0xffffffffffffffff. Do you have the opportunity to build the kernel with the 'CONFIG_EDAC_DEBUG=y' option enabled and then help to take the log?Thanks
-Qiuxu
Thanks for your reply!
I recompiled the kernel with that option enabled, and attached the dmesg output to this email. Let me know if I can do anything else to help debug this.
Cheers, Ramses
Hi Ramses,
Quoted 7 lines
From: Ramses <[email protected]>
[...]Thanks for your reply!
I recompiled the kernel with that option enabled, and attached the dmesg output to this email. Let me know if I can do anything else to help debug this.
Thanks for helping debug the issue and taking the useful dmesg log.
From the dmesg log, the ECC error log register of this SoC contained the invalid error value ~0, resulting in a flood of invalid error reports in polling mode.
@Ramses & @John,
Can you please apply the attached fix patch and see whether it fixes the issue? Thanks!
-Qiuxu
From fa843550da0589a1fae2fa7713767bbc98b3a02c Mon Sep 17 00:00:00 2001
From: Qiuxu Zhuo <[email protected]>
Date: Mon, 10 Feb 2025 15:17:37 +0800
Subject: [PATCH 1/1] EDAC/igen6: Fix the flood of invalid error reports
The ECC_ERROR_LOG register of certain SoCs may contain the invalid value ~0, which results in a flood of invalid error reports in polling mode.
Fix the flood of invalid error reports by skipping the invalid ECC error log value ~0.
--- drivers/edac/igen6_edac.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-)
drivers/edac/igen6_edac.c +15 -6
@@ -785,13 +785,22 @@ static u64 ecclog_read_and_clear(struct igen6_imc *imc) {u64 ecclog =readq (imc->window +ECC_ERROR_LOG_OFFSET ); -if (ecclog & (ECC_ERROR_LOG_CE |ECC_ERROR_LOG_UE )) { -/* Clear CE/UE bits by writing 1s */ -writeq (ecclog, imc->window +ECC_ERROR_LOG_OFFSET ); -return ecclog; - } +/* +* Quirk: The ECC_ERROR_LOG register of certain SoCs may contain +* the invalid value ~0. This will result in a flood of invalid +* error reports in polling mode. Skip it. +*/ +if (ecclog == ~0 ) +return 0 ; -return 0 ; +/* Neither a CE nor a UE. Skip it.*/ +if (!(ecclog & (ECC_ERROR_LOG_CE |ECC_ERROR_LOG_UE ))) +return 0 ; + +/* Clear CE/UE bits by writing 1s */ +writeq (ecclog, imc->window +ECC_ERROR_LOG_OFFSET ); + +return ecclog; }static void errsts_clear (struct igen6_imc *imc)
Signature · 1 line
2.17.1
Feb 10, 2025, 09:05 by [email protected]:
Quoted 15 lines
Hi Ramses,
Quoted 8 lines
From: Ramses <>> [email protected]>> >
[...]Thanks for your reply!
I recompiled the kernel with that option enabled, and attached the dmesg output to this email. Let me know if I can do anything else to help debug this.
Thanks for helping debug the issue and taking the useful dmesg log.
From the dmesg log, the ECC error log register of this SoC contained the invalid error value ~0, resulting in a flood of invalid error reports in polling mode.
Quoted 6 lines
@Ramses & @John,
Can you please apply the attached fix patch and see whether it fixes the issue? Thanks!-Qiuxu
I just booted into a kernel with that patch applied and I'm not getting the errors anymore, so that seems to fix the issue for me indeed!
Thanks a bunch!
Ramses
Hi Ramses,
Quoted 5 lines
From: Ramses <[email protected]>
[...]I just booted into a kernel with that patch applied and I'm not getting the errors anymore, so that seems to fix the issue for me indeed!
Thank you for your testing.
I'm waiting a bit for John's test result (if he has the chance to test it). After that, I'll post the fix path to the EDAC mailing list.
-Qiuxu
Quoted 2 lines · On Monday, February 10th, 2025 at 8:55 PM, Zhuo, Qiuxu [email protected]…
I'm waiting a bit for John's test result (if he has the chance to test it). After that, I'll post the fix path to the EDAC mailing list.
Confirmed, your patch fixed the flood experienced with 6.13.2-arch1-1 on my Beelink EQ12 (N100). Many thanks.
Quoted 4 lines
From: John <[email protected]>
[...]
Confirmed, your patch fixed the flood experienced with 6.13.2-arch1-1 on my Beelink EQ12 (N100). Many thanks.
Hi John,
Thanks so much for your verification.
-Qiuxu