DF-2922 / bss-layout.txt
$ nm -n /boot/kernel/kernel | grep -A3 prop_bool_false
ffffffff8179b2f0 b _prop_bool_init_once
ffffffff8179b300 b _prop_bool_false <- fake mtx base = false.pb_obj
ffffffff8179b320 b _prop_bool_true
ffffffff8179b338 B _prop_data_pool
ffffffff8179b340 B _prop_dictionary_pool
struct _prop_bool { struct _prop_object pb_obj; bool pb_value; } (24 bytes)
struct _prop_array { struct _prop_object pa_obj; struct mtx pa_rwlock; ... }
-> pa_rwlock @ +16 overlays pb_value(+16) and the words at +20..+56:
+16 mtx_lock = pb_value (0 for false, 1 for true)
+24 mtx_owner = tail padding of _prop_bool_false
+32 mtx_exlink = _prop_bool_true.po_type region (or beyond)
+48 mtx_ident = _prop_bool_true tail / _prop_data_pool region
struct mtx (sys/sys/mutex.h:66): mtx_lock u_int; mtx_flags; mtx_owner;
mtx_exlink; mtx_shlink; mtx_ident (~40 bytes)