Page MenuHomeFreeBSD

Move kernel vmem arena initialization to vm_kern.c.
ClosedPublic

Authored by markj on Sep 19 2018, 5:20 PM.
Tags
None
Referenced Files
F136960224: D17247.id.diff
Thu, Nov 20, 8:30 PM
F136959165: D17247.id48235.diff
Thu, Nov 20, 8:26 PM
F136959095: D17247.id48229.diff
Thu, Nov 20, 8:25 PM
F136957361: D17247.diff
Thu, Nov 20, 8:16 PM
Unknown Object (File)
Mon, Nov 17, 1:09 AM
Unknown Object (File)
Thu, Oct 23, 11:00 AM
Unknown Object (File)
Thu, Oct 23, 11:00 AM
Unknown Object (File)
Thu, Oct 23, 11:00 AM
Subscribers

Details

Summary

The details of this initialization belong in vm_kern.c anyway, and allow
me to use KVA_QUANTUM in vm_kern.c without defining it in a header.

No functional change intended.

Diff Detail

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

Event Timeline

alc added inline comments.
sys/vm/vm_kern.c
745–747 ↗(On Diff #48229)

It's not clear to me that using vmem_alloc() as the import function guarantees alignment. I fear that we are only guaranteed that the size is a multiple of KVA_QUANTUM.

This revision is now accepted and ready to land.Sep 19 2018, 5:54 PM
markj added inline comments.
sys/vm/vm_kern.c
745–747 ↗(On Diff #48229)

I think you're right, and the problem is only hidden as a result of the current kernel arena usage patterns. In particular, vmem freelist entries aren't necessarily size-aligned.

This revision was automatically updated to reflect the committed changes.