You are not logged in.

#1 2021-05-16 10:25:25

kristianheljas
Member
Registered: 2021-05-16
Posts: 1

How to choose appropriate MTRR options?

I'm getting following kernel messages:

[    0.001512] mtrr_cleanup: can not find optimal value
[    0.001513] please specify mtrr_gran_size/mtrr_chunk_size

Searching trough the internet I found following:

Both are suggesting to set MTRR parameters via kernel options, but neither of those explain how to choose the optimal values.
I also had hard time finding the answer trough google.

Given my dmesg output (see below), I have 80 options to choose from...

So:

  1. Besides the amount of lost RAM, what other implecations different mtrr_gran_size/mtrr_chunk_size combinations have?

  2. What is num_reg and how is select appropritae value for that?

My dmesg output about MTRR:

[    0.000585] MTRR default type: uncachable
[    0.000587] MTRR fixed ranges enabled:
[    0.000588]   00000-9FFFF write-back
[    0.000589]   A0000-BFFFF uncachable
[    0.000590]   C0000-CFFFF write-protect
[    0.000591]   D0000-DFFFF uncachable
[    0.000592]   E0000-FFFFF write-protect
[    0.000593] MTRR variable ranges enabled:
[    0.000594]   0 base 0000000000 mask 7C00000000 write-back
[    0.000596]   1 base 0400000000 mask 7FE0000000 write-back
[    0.000597]   2 base 0420000000 mask 7FF0000000 write-back
[    0.000598]   3 base 00E0000000 mask 7FE0000000 uncachable
[    0.000600]   4 base 00D0000000 mask 7FF0000000 uncachable
[    0.000601]   5 base 00CC000000 mask 7FFC000000 uncachable
[    0.000602]   6 base 00CBC00000 mask 7FFFC00000 uncachable
[    0.000603]   7 base 042F800000 mask 7FFF800000 uncachable
[    0.000604]   8 base 042F400000 mask 7FFFC00000 uncachable
[    0.000605]   9 base 042F200000 mask 7FFFE00000 uncachable
[    0.000692] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.001242] total RAM covered: 16302M
[    0.001350]  gran_size: 64K 	chunk_size: 64K 	num_reg: 10  	lose cover RAM: 242M
[    0.001352]  gran_size: 64K 	chunk_size: 128K 	num_reg: 10  	lose cover RAM: 242M
[    0.001354]  gran_size: 64K 	chunk_size: 256K 	num_reg: 10  	lose cover RAM: 242M
[    0.001355]  gran_size: 64K 	chunk_size: 512K 	num_reg: 10  	lose cover RAM: 242M
[    0.001356]  gran_size: 64K 	chunk_size: 1M 	num_reg: 10  	lose cover RAM: 242M
[    0.001358]  gran_size: 64K 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001359]  gran_size: 64K 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001360]  gran_size: 64K 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001362] *BAD*gran_size: 64K 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001363] *BAD*gran_size: 64K 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001365] *BAD*gran_size: 64K 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001366] *BAD*gran_size: 64K 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001367] *BAD*gran_size: 64K 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001369] *BAD*gran_size: 64K 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001370] *BAD*gran_size: 64K 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001372] *BAD*gran_size: 64K 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001373]  gran_size: 128K 	chunk_size: 128K 	num_reg: 10  	lose cover RAM: 242M
[    0.001374]  gran_size: 128K 	chunk_size: 256K 	num_reg: 10  	lose cover RAM: 242M
[    0.001376]  gran_size: 128K 	chunk_size: 512K 	num_reg: 10  	lose cover RAM: 242M
[    0.001377]  gran_size: 128K 	chunk_size: 1M 	num_reg: 10  	lose cover RAM: 242M
[    0.001378]  gran_size: 128K 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001380]  gran_size: 128K 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001381]  gran_size: 128K 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001382] *BAD*gran_size: 128K 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001384] *BAD*gran_size: 128K 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001385] *BAD*gran_size: 128K 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001386] *BAD*gran_size: 128K 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001388] *BAD*gran_size: 128K 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001389] *BAD*gran_size: 128K 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001390] *BAD*gran_size: 128K 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001392] *BAD*gran_size: 128K 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001393]  gran_size: 256K 	chunk_size: 256K 	num_reg: 10  	lose cover RAM: 242M
[    0.001394]  gran_size: 256K 	chunk_size: 512K 	num_reg: 10  	lose cover RAM: 242M
[    0.001396]  gran_size: 256K 	chunk_size: 1M 	num_reg: 10  	lose cover RAM: 242M
[    0.001397]  gran_size: 256K 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001398]  gran_size: 256K 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001399]  gran_size: 256K 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001401] *BAD*gran_size: 256K 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001402] *BAD*gran_size: 256K 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001403] *BAD*gran_size: 256K 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001405] *BAD*gran_size: 256K 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001406] *BAD*gran_size: 256K 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001407] *BAD*gran_size: 256K 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001409] *BAD*gran_size: 256K 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001410] *BAD*gran_size: 256K 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001411]  gran_size: 512K 	chunk_size: 512K 	num_reg: 10  	lose cover RAM: 242M
[    0.001413]  gran_size: 512K 	chunk_size: 1M 	num_reg: 10  	lose cover RAM: 242M
[    0.001414]  gran_size: 512K 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001415]  gran_size: 512K 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001416]  gran_size: 512K 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001418] *BAD*gran_size: 512K 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001419] *BAD*gran_size: 512K 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001420] *BAD*gran_size: 512K 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001422] *BAD*gran_size: 512K 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001423] *BAD*gran_size: 512K 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001424] *BAD*gran_size: 512K 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001426] *BAD*gran_size: 512K 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001427] *BAD*gran_size: 512K 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001428]  gran_size: 1M 	chunk_size: 1M 	num_reg: 10  	lose cover RAM: 242M
[    0.001430]  gran_size: 1M 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001431]  gran_size: 1M 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001432]  gran_size: 1M 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001434] *BAD*gran_size: 1M 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001435] *BAD*gran_size: 1M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001436] *BAD*gran_size: 1M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001438] *BAD*gran_size: 1M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001439] *BAD*gran_size: 1M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001440] *BAD*gran_size: 1M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001441] *BAD*gran_size: 1M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001443] *BAD*gran_size: 1M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001444]  gran_size: 2M 	chunk_size: 2M 	num_reg: 10  	lose cover RAM: 242M
[    0.001445]  gran_size: 2M 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001447]  gran_size: 2M 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001448] *BAD*gran_size: 2M 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: -12M
[    0.001449] *BAD*gran_size: 2M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: -12M
[    0.001450] *BAD*gran_size: 2M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: -12M
[    0.001452] *BAD*gran_size: 2M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: -12M
[    0.001453] *BAD*gran_size: 2M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: -12M
[    0.001454] *BAD*gran_size: 2M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -268M
[    0.001456] *BAD*gran_size: 2M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: -264M
[    0.001457] *BAD*gran_size: 2M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1288M
[    0.001458]  gran_size: 4M 	chunk_size: 4M 	num_reg: 10  	lose cover RAM: 242M
[    0.001460]  gran_size: 4M 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 50M
[    0.001461]  gran_size: 4M 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: 50M
[    0.001462]  gran_size: 4M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: 2M
[    0.001464]  gran_size: 4M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: 2M
[    0.001465]  gran_size: 4M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: 2M
[    0.001466]  gran_size: 4M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: 2M
[    0.001467] *BAD*gran_size: 4M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -254M
[    0.001469]  gran_size: 4M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: 2M
[    0.001470] *BAD*gran_size: 4M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1022M
[    0.001471]  gran_size: 8M 	chunk_size: 8M 	num_reg: 10  	lose cover RAM: 118M
[    0.001473]  gran_size: 8M 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: 54M
[    0.001474]  gran_size: 8M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: 6M
[    0.001475]  gran_size: 8M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: 6M
[    0.001477]  gran_size: 8M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: 6M
[    0.001478]  gran_size: 8M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: 6M
[    0.001479] *BAD*gran_size: 8M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -250M
[    0.001480]  gran_size: 8M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: 6M
[    0.001482] *BAD*gran_size: 8M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1018M
[    0.001483]  gran_size: 16M 	chunk_size: 16M 	num_reg: 10  	lose cover RAM: 62M
[    0.001484]  gran_size: 16M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: 14M
[    0.001486]  gran_size: 16M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: 14M
[    0.001487]  gran_size: 16M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: 14M
[    0.001488]  gran_size: 16M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: 14M
[    0.001490] *BAD*gran_size: 16M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -242M
[    0.001491]  gran_size: 16M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: 14M
[    0.001492] *BAD*gran_size: 16M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -1010M
[    0.001494]  gran_size: 32M 	chunk_size: 32M 	num_reg: 10  	lose cover RAM: 46M
[    0.001495]  gran_size: 32M 	chunk_size: 64M 	num_reg: 10  	lose cover RAM: 46M
[    0.001496]  gran_size: 32M 	chunk_size: 128M 	num_reg: 10  	lose cover RAM: 46M
[    0.001498]  gran_size: 32M 	chunk_size: 256M 	num_reg: 10  	lose cover RAM: 46M
[    0.001499] *BAD*gran_size: 32M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: -210M
[    0.001500]  gran_size: 32M 	chunk_size: 1G 	num_reg: 10  	lose cover RAM: 46M
[    0.001502] *BAD*gran_size: 32M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: -978M
[    0.001503]  gran_size: 64M 	chunk_size: 64M 	num_reg: 8  	lose cover RAM: 110M
[    0.001504]  gran_size: 64M 	chunk_size: 128M 	num_reg: 8  	lose cover RAM: 110M
[    0.001505]  gran_size: 64M 	chunk_size: 256M 	num_reg: 9  	lose cover RAM: 110M
[    0.001507]  gran_size: 64M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: 110M
[    0.001508]  gran_size: 64M 	chunk_size: 1G 	num_reg: 9  	lose cover RAM: 110M
[    0.001509]  gran_size: 64M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: 110M
[    0.001511]  gran_size: 128M 	chunk_size: 128M 	num_reg: 7  	lose cover RAM: 174M
[    0.001512]  gran_size: 128M 	chunk_size: 256M 	num_reg: 9  	lose cover RAM: 174M
[    0.001513]  gran_size: 128M 	chunk_size: 512M 	num_reg: 10  	lose cover RAM: 174M
[    0.001515]  gran_size: 128M 	chunk_size: 1G 	num_reg: 9  	lose cover RAM: 174M
[    0.001516]  gran_size: 128M 	chunk_size: 2G 	num_reg: 10  	lose cover RAM: 174M
[    0.001517]  gran_size: 256M 	chunk_size: 256M 	num_reg: 5  	lose cover RAM: 430M
[    0.001519]  gran_size: 256M 	chunk_size: 512M 	num_reg: 5  	lose cover RAM: 430M
[    0.001520]  gran_size: 256M 	chunk_size: 1G 	num_reg: 6  	lose cover RAM: 430M
[    0.001521]  gran_size: 256M 	chunk_size: 2G 	num_reg: 7  	lose cover RAM: 430M
[    0.001522]  gran_size: 512M 	chunk_size: 512M 	num_reg: 5  	lose cover RAM: 430M
[    0.001524]  gran_size: 512M 	chunk_size: 1G 	num_reg: 6  	lose cover RAM: 430M
[    0.001525]  gran_size: 512M 	chunk_size: 2G 	num_reg: 7  	lose cover RAM: 430M
[    0.001526]  gran_size: 1G 	chunk_size: 1G 	num_reg: 4  	lose cover RAM: 942M
[    0.001528]  gran_size: 1G 	chunk_size: 2G 	num_reg: 4  	lose cover RAM: 942M
[    0.001529]  gran_size: 2G 	chunk_size: 2G 	num_reg: 3  	lose cover RAM: 1966M
[    0.001530] mtrr_cleanup: can not find optimal value
[    0.001531] please specify mtrr_gran_size/mtrr_chunk_size

Last edited by kristianheljas (2021-05-16 10:27:06)

Offline

Board footer

Powered by FluxBB