Make drm drivers use MTRR write-combine

Eric van Gyzen eric at vangyzen.net
Tue Aug 14 13:55:39 UTC 2018


On 8/14/18 4:12 AM, Johannes Lundberg wrote:
> Hi
> 
> Something that we have seen for a long time on FreeBSD is the boot message
> 
> Failed to add WC MTRR for [0xd0000000-0xdfffffff]: -22; performance may
> suffer
> 
> Taking a closer look at this with memcontrol I can see that the 256 MB
> region that DRM wants to set as WC is already covered by this entry
> 0xc0000000/0x40000000 BIOS uncacheable set-by-firmware active
> 
> Similar on both my Skylake and Broadwell systems.
I see something similar on my Dell XPS 13 with a Kaby Lake R:

Failed to add WC MTRR for [0x90000000-0x9fffffff]: -22; performance may 
suffer

0x80000000/0x80000000 BIOS uncacheable set-by-firmware active

The only mappings in this range are MMIO:

machdep.efi_map:
           Type     Physical      Virtual   #Pages Attr
[snip]
MemoryMappedIO 0000e0000000   0xe0000000 00010000 RUNTIME
MemoryMappedIO 0000fe000000   0xfe000000 00000011 UC RUNTIME
MemoryMappedIO 0000fec00000   0xfec00000 00000001 UC RUNTIME
MemoryMappedIO 0000fee00000   0xfee00000 00000001 UC WT WB WP RUNTIME
MemoryMappedIO 0000ff000000   0xff000000 00001000 UC WT WB WP RUNTIME

Eric


More information about the freebsd-current mailing list