This is a small piece broken off of the change under review at D19826. Passing a parameter to vm_map_entry_resize_free that describes the amount of resizing reduces the number of functions changing the vm_map invariants regarding the max_free field of map entries.
Details
Details
I've tested with a test program that pounds the vm_map and seen no obvious performance impact from this change.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Other than the note about if()s, this looks fine.
vm_map.c | ||
---|---|---|
4325 ↗ | (On Diff #57701) | I find this nesting of if()s cleaner than repeated condition in your variant. It is clear that we do some cleanup, and the kind of cleanup depends on gap_deleted. |
vm_map.c | ||
---|---|---|
4353 ↗ | (On Diff #57703) | Did you delete the wrong line? |
vm_map.c | ||
---|---|---|
4353 ↗ | (On Diff #57703) | Yep. |
vm_map.c | ||
---|---|---|
1254 ↗ | (On Diff #57704) | I think the type should be vm_size_t but I see that I myself used it inconsistently. |