On 16.03.21 09:58, Liang, Liang (Leo) wrote:
[AMD Public Use]
Hi David,
root@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
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx