slow boot with 7fef431be9c9 ("mm/page_alloc: place pages to tail in __free_pages_core()")

David Hildenbrand david at redhat.com
Tue Mar 16 09:08:10 UTC 2021


On 16.03.21 09:58, Liang, Liang (Leo) wrote:
> [AMD Public Use]
> 
> Hi David,
> 
> root at scbu-Chachani:~# cat /proc/mtrr
> reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
> reg01: base=0x0ffe00000 ( 4094MB), size=    2MB, count=1: write-protect
> reg02: base=0x100000000 ( 4096MB), size=   16MB, count=1: write-protect

^ there it is

https://wiki.osdev.org/MTRR

"Reads allocate cache lines on a cache miss. All writes update main memory.

Cache lines are not allocated on a write miss. Write hits invalidate the 
cache line and update main memory. "

AFAIU, writes completely bypass caches and store directly to main 
mamory. If there are cache lines from a previous read, they are 
invalidated. So I think especially slow will be read(addr), write(addr), 
read(addr), ... which is what we have in the kstream benchmark.


The question is:

who sets this up without owning the memory?
Is the memory actually special/slow or is that setting wrong?
Buggy firmware/BIOS?
Buggy device driver?


> reg03: base=0x0ffde0000 ( 4093MB), size=  128KB, count=1: write-protect
> reg04: base=0x0ff000000 ( 4080MB), size=  512KB, count=1: write-protect


-- 
Thanks,

David / dhildenb



More information about the amd-gfx mailing list