Page MenuHomeFreeBSD

Implement pmap_change_attr and related APIs on MIPS
ClosedPublic

Authored by kan on Dec 23 2016, 7:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Dec 6, 7:51 PM
Unknown Object (File)
Sun, Nov 24, 10:48 AM
Unknown Object (File)
Fri, Nov 22, 7:33 AM
Unknown Object (File)
Nov 14 2024, 10:12 AM
Unknown Object (File)
Nov 5 2024, 7:12 AM
Unknown Object (File)
Oct 10 2024, 12:51 AM
Unknown Object (File)
Oct 3 2024, 11:48 PM
Unknown Object (File)
Oct 2 2024, 10:22 PM
Subscribers
None

Details

Summary

On platforms that have uncached-accelerate cache attribute, map it
to VM_MEMATTR_WRITE_COMBINING.

Test Plan

Map JZ4780 framebuffer and fill it with zeroes in loops in different mode.
Observe write-combining outperform cached accesses by about ~2x and uncached
mapping by ~35x.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kan retitled this revision from to Implement pmap_change_attr and related APIs on MIPS.
kan updated this object.
kan edited the test plan for this revision. (Show Details)
kan added reviewers: adrian, imp, br, brooks, MIPS, jhb.
kan set the repository for this revision to rS FreeBSD src repository - subversion.
adrian edited edge metadata.

cool. mips24k/mips74k have this as well, it'd be interesting to try it out.

This revision is now accepted and ready to land.Dec 23 2016, 7:45 PM
sys/mips/include/pmap.h
78 ↗(On Diff #23221)

Typo in reformatting.

kan edited edge metadata.
kan removed rS FreeBSD src repository - subversion as the repository for this revision.
kan marked an inline comment as done.

Fix typo

This revision now requires review to proceed.Dec 23 2016, 10:18 PM
kan updated this object.
kan edited edge metadata.
kan set the repository for this revision to rS FreeBSD src repository - subversion.

Do dot define VM_MEMATTR_WRITE_COMBINING as uncached as the fallback option, some userland tools expect VM_MEMATTR_WRITE_COMBINING and VM_MEMATTR_UNCACHEABLE be numerically different.

This revision was automatically updated to reflect the committed changes.