HomeFreeBSD

Retire the old UMA primitive uma_zone_set_obj() and replace it with the
rS247224Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Retire the old UMA primitive uma_zone_set_obj() and replace it with the
more modern uma_zone_reserve_kva(). The difference is that it doesn't
rely anymore on an obj to allocate pages and the slab allocator doesn't
use any more any specific locking but atomic operations to complete
the operation.
Where possible, the uma_small_alloc() is instead used and the uk_kva
member becomes unused.

The subsequent cleanups also brings along the removal of
VM_OBJECT_LOCK_INIT() macro which is not used anymore as the code
can be easilly cleaned up to perform a single mtx_init(), private
to vm_object.c.
For the same reason, _vm_object_allocate() becomes private as well.

Sponsored by: EMC / Isilon storage division
Reviewed by: alc

Details

Provenance
attilioAuthored on
Parents
rS247223: Do not call vm_radix_lookup_ge() in the reservation system unless
Branches
Unknown
Tags
Unknown

Event Timeline