Page MenuHomeFreeBSD

Add phys_avail allocation routines.

Authored by jeff on Aug 13 2019, 5:31 PM.



This depends on

To implement a more intelligent early alloc I neded to be able to split phys_avail entries. This really could grow a little more encapsulation so there is less direct list manipulation elsewhere. The primary goal is to enable domain aware early allocation but I also think a little abstraction is nicer.

Some of this code came from Drew at netflix.

Diff Detail

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

Event Timeline

jeff created this revision.Aug 13 2019, 5:31 PM
jeff retitled this revision from Add phys_avail processing routines. to Add phys_avail allocation routines..Aug 13 2019, 5:40 PM
jeff edited the summary of this revision. (Show Details)
jeff added reviewers: alc, markj, kib, gallatin.
gallatin accepted this revision.Aug 15 2019, 12:14 AM
gallatin added inline comments.
1635 ↗(On Diff #60747)

Style nit .. I think these locals should be sorted alphabetically

1699 ↗(On Diff #60747)

In the numa case, would it make sense to iterate to another domain rather than panic?

This revision is now accepted and ready to land.Aug 15 2019, 12:14 AM
kib accepted this revision.Aug 17 2019, 6:49 PM
kib added inline comments.
1604 ↗(On Diff #60747)

phys_avail[i + 1] != 0

1642 ↗(On Diff #60747)

dot at the end of the sentence

1668 ↗(On Diff #60747)

Again, end the sentence with dot.

1672 ↗(On Diff #60747)

!= 0

jeff added inline comments.Aug 18 2019, 6:40 AM
1699 ↗(On Diff #60747)

I think that the startup memory we're allocating should be so small relative to domain memory that if we run into this it indicates another bug.