Page MenuHomeFreeBSD

Fix zone and keg alignment as well as boot pages calculations on numa.
ClosedPublic

Authored by jeff on Jan 5 2020, 11:53 PM.

Details

Summary

While making NUMA amd64 w/o MD_SMALL_ALLOC boot I noticed a number of numa bugs but also weaker than required alignment. In practice the alignment of zones was actually dictated by the alignment of the per-cpu cache structure. This just clarifies existing behavior while simplifying code.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jeff created this revision.Jan 5 2020, 11:53 PM
jeff edited the summary of this revision. (Show Details)Jan 5 2020, 11:55 PM
jeff added reviewers: rlibby, markj.
jeff set the repository for this revision to rS FreeBSD src repository.
jeff added inline comments.Jan 5 2020, 11:56 PM
sys/amd64/include/vmparam.h
79 ↗(On Diff #66394)

obviously not committing this.

rlibby accepted this revision.Jan 6 2020, 12:10 AM
This revision is now accepted and ready to land.Jan 6 2020, 12:10 AM
markj accepted this revision.Jan 6 2020, 1:03 AM
markj added inline comments.
sys/vm/uma_int.h
169 ↗(On Diff #66394)

Typo: terminology.

I think we used to define CACHE_LINE_SIZE to 128 on amd64 for this reason. I'm not sure when that changed.