* Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen)
@ 2021-01-10 6:03 WGH
2021-01-10 11:33 ` Borislav Petkov
0 siblings, 1 reply; 5+ messages in thread
From: WGH @ 2021-01-10 6:03 UTC (permalink / raw)
To: linux-edac
I tried many rates mentioned in scrubrates[] array, but the result is still the same.
% echo 100000 | sudo tee /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
100000
% sudo cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
0
dmesg excerpt:
[ 0.561809] EDAC MC: Ver: 3.0.0
(skip)
[ 0.825762] EDAC amd64: F17h_M70h detected (node 0).
[ 0.826343] EDAC amd64: Node 0: DRAM ECC enabled.
[ 0.826901] EDAC amd64: MCT channel count: 2
[ 0.827512] EDAC MC0: Giving out device to module amd64_edac controller F17h_M70h: DEV 0000:00:18.3 (INTERRUPT)
[ 0.828106] EDAC MC: UMC0 chip selects:
[ 0.828106] EDAC amd64: MC: 0: 16384MB 1: 16384MB
[ 0.828690] EDAC amd64: MC: 2: 16384MB 3: 16384MB
[ 0.829262] EDAC MC: UMC1 chip selects:
[ 0.829262] EDAC amd64: MC: 0: 16384MB 1: 16384MB
[ 0.829829] EDAC amd64: MC: 2: 16384MB 3: 16384MB
[ 0.830383] EDAC amd64: using x16 syndromes.
[ 0.830992] EDAC PCI0: Giving out device to module amd64_edac controller EDAC PCI controller: DEV 0000:00:18.0 (POLLED)
[ 0.831577] AMD64 EDAC driver v3.5.0
This is AMD Ryzen 9 3900XT on ASRock B550 Extreme4 motherboard, Linux 5.10.5.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen)
2021-01-10 6:03 Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen) WGH
@ 2021-01-10 11:33 ` Borislav Petkov
2021-01-10 11:46 ` WGH
0 siblings, 1 reply; 5+ messages in thread
From: Borislav Petkov @ 2021-01-10 11:33 UTC (permalink / raw)
To: WGH, Yazen Ghannam; +Cc: linux-edac
On Sun, Jan 10, 2021 at 09:03:24AM +0300, WGH wrote:
> I tried many rates mentioned in scrubrates[] array, but the result is still the same.
>
> % echo 100000 | sudo tee /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> 100000
> % sudo cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> 0
>
> dmesg excerpt:
>
> [ 0.561809] EDAC MC: Ver: 3.0.0
> (skip)
> [ 0.825762] EDAC amd64: F17h_M70h detected (node 0).
> [ 0.826343] EDAC amd64: Node 0: DRAM ECC enabled.
> [ 0.826901] EDAC amd64: MCT channel count: 2
> [ 0.827512] EDAC MC0: Giving out device to module amd64_edac controller F17h_M70h: DEV 0000:00:18.3 (INTERRUPT)
> [ 0.828106] EDAC MC: UMC0 chip selects:
> [ 0.828106] EDAC amd64: MC: 0: 16384MB 1: 16384MB
> [ 0.828690] EDAC amd64: MC: 2: 16384MB 3: 16384MB
> [ 0.829262] EDAC MC: UMC1 chip selects:
> [ 0.829262] EDAC amd64: MC: 0: 16384MB 1: 16384MB
> [ 0.829829] EDAC amd64: MC: 2: 16384MB 3: 16384MB
> [ 0.830383] EDAC amd64: using x16 syndromes.
> [ 0.830992] EDAC PCI0: Giving out device to module amd64_edac controller EDAC PCI controller: DEV 0000:00:18.0 (POLLED)
> [ 0.831577] AMD64 EDAC driver v3.5.0
>
> This is AMD Ryzen 9 3900XT on ASRock B550 Extreme4 motherboard, Linux 5.10.5.
That thing checks a bit 0 in some PCI cfg reg on F17h before returning
the scrubrate. Do as root:
# setpci -s 00:18.6 0x0x48.l
It could be that scrub rate setting is locked on your machine. Because
it works here:
# echo 100000 > /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
# cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
390720
That's a AMD Ryzen 7 2700X Eight-Core Processor, however.
Yazen?
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen)
2021-01-10 11:33 ` Borislav Petkov
@ 2021-01-10 11:46 ` WGH
2021-01-10 12:00 ` Borislav Petkov
0 siblings, 1 reply; 5+ messages in thread
From: WGH @ 2021-01-10 11:46 UTC (permalink / raw)
To: Borislav Petkov, Yazen Ghannam; +Cc: linux-edac
On 1/10/21 2:33 PM, Borislav Petkov wrote:
> On Sun, Jan 10, 2021 at 09:03:24AM +0300, WGH wrote:
>> I tried many rates mentioned in scrubrates[] array, but the result is still the same.
>>
>> % echo 100000 | sudo tee /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
>> 100000
>> % sudo cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
>> 0
>>
>> dmesg excerpt:
>>
>> [ 0.561809] EDAC MC: Ver: 3.0.0
>> (skip)
>> [ 0.825762] EDAC amd64: F17h_M70h detected (node 0).
>> [ 0.826343] EDAC amd64: Node 0: DRAM ECC enabled.
>> [ 0.826901] EDAC amd64: MCT channel count: 2
>> [ 0.827512] EDAC MC0: Giving out device to module amd64_edac controller F17h_M70h: DEV 0000:00:18.3 (INTERRUPT)
>> [ 0.828106] EDAC MC: UMC0 chip selects:
>> [ 0.828106] EDAC amd64: MC: 0: 16384MB 1: 16384MB
>> [ 0.828690] EDAC amd64: MC: 2: 16384MB 3: 16384MB
>> [ 0.829262] EDAC MC: UMC1 chip selects:
>> [ 0.829262] EDAC amd64: MC: 0: 16384MB 1: 16384MB
>> [ 0.829829] EDAC amd64: MC: 2: 16384MB 3: 16384MB
>> [ 0.830383] EDAC amd64: using x16 syndromes.
>> [ 0.830992] EDAC PCI0: Giving out device to module amd64_edac controller EDAC PCI controller: DEV 0000:00:18.0 (POLLED)
>> [ 0.831577] AMD64 EDAC driver v3.5.0
>>
>> This is AMD Ryzen 9 3900XT on ASRock B550 Extreme4 motherboard, Linux 5.10.5.
> That thing checks a bit 0 in some PCI cfg reg on F17h before returning
> the scrubrate. Do as root:
>
> # setpci -s 00:18.6 0x0x48.l
% sudo setpci -s 00:18.6 0x48.l
b214bac4
% sudo setpci -s 00:18.6 0x48.l
b23225c4
% sudo setpci -s 00:18.6 0x48.l
b2648984
% sudo setpci -s 00:18.6 0x48.l
b27b9dc4
% sudo setpci -s 00:18.6 0x48.l
b293f504
Whatever that means.
>
> It could be that scrub rate setting is locked on your machine. Because
> it works here:
>
> # echo 100000 > /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> # cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> 390720
>
> That's a AMD Ryzen 7 2700X Eight-Core Processor, however.
>
> Yazen?
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen)
2021-01-10 11:46 ` WGH
@ 2021-01-10 12:00 ` Borislav Petkov
2021-01-11 20:16 ` Yazen Ghannam
0 siblings, 1 reply; 5+ messages in thread
From: Borislav Petkov @ 2021-01-10 12:00 UTC (permalink / raw)
To: WGH; +Cc: Yazen Ghannam, linux-edac
On Sun, Jan 10, 2021 at 02:46:52PM +0300, WGH wrote:
> > # setpci -s 00:18.6 0x0x48.l
> % sudo setpci -s 00:18.6 0x48.l
> b214bac4
> % sudo setpci -s 00:18.6 0x48.l
> b23225c4
> % sudo setpci -s 00:18.6 0x48.l
> b2648984
> % sudo setpci -s 00:18.6 0x48.l
> b27b9dc4
> % sudo setpci -s 00:18.6 0x48.l
> b293f504
>
> Whatever that means.
Yah, bit 0 is not set so you're getting scrubrate 0 returned.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen)
2021-01-10 12:00 ` Borislav Petkov
@ 2021-01-11 20:16 ` Yazen Ghannam
0 siblings, 0 replies; 5+ messages in thread
From: Yazen Ghannam @ 2021-01-11 20:16 UTC (permalink / raw)
To: Borislav Petkov; +Cc: WGH, linux-edac
On Sun, Jan 10, 2021 at 01:00:19PM +0100, Borislav Petkov wrote:
> On Sun, Jan 10, 2021 at 02:46:52PM +0300, WGH wrote:
> > > # setpci -s 00:18.6 0x0x48.l
> > % sudo setpci -s 00:18.6 0x48.l
> > b214bac4
> > % sudo setpci -s 00:18.6 0x48.l
> > b23225c4
> > % sudo setpci -s 00:18.6 0x48.l
> > b2648984
> > % sudo setpci -s 00:18.6 0x48.l
> > b27b9dc4
> > % sudo setpci -s 00:18.6 0x48.l
> > b293f504
> >
> > Whatever that means.
>
> Yah, bit 0 is not set so you're getting scrubrate 0 returned.
>
It looks like these registers have moved in newer systems. I'll track
down the changes and write up a patch.
Thanks,
Yazen
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-11 20:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-10 6:03 Unable to set (or read back) sdram_scrub_rate on amd64_edac F17h_M70h (Ryzen 3rd gen) WGH
2021-01-10 11:33 ` Borislav Petkov
2021-01-10 11:46 ` WGH
2021-01-10 12:00 ` Borislav Petkov
2021-01-11 20:16 ` Yazen Ghannam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).