30 #ifndef _SYS_VMEM_IMPL_USER_H 31 #define _SYS_VMEM_IMPL_USER_H 36 #include <sys/kstat.h> 57 #define VMEM_STACK_DEPTH 20 88 #define VS_SIZE(vsp) ((vsp)->vs_end - (vsp)->vs_start) 93 #define VMEM_HASH_INDEX(a, s, q, m) \ 94 ((((a) + ((a) >> (s)) + ((a) >> ((s) << 1))) >> (q)) & (m)) 96 #define VMEM_HASH(vmp, addr) \ 97 (&(vmp)->vm_hash_table[VMEM_HASH_INDEX(addr, \ 98 (vmp)->vm_hash_shift, (vmp)->vm_qshift, (vmp)->vm_hash_mask)]) 100 #define VMEM_NAMELEN 30 101 #define VMEM_HASH_INITIAL 16 102 #define VMEM_NQCACHE_MAX 16 103 #define VMEM_FREELISTS (sizeof (void *) * 8) 159 #define VM_UMFLAGS VM_KMFLAGS mutex_t vm_lock
Definition: vmem_impl_user.h:125
hrtime_t vs_timestamp
Definition: vmem_impl_user.h:77
vmem_seg_t * vs_kprev
Definition: vmem_impl_user.h:66
uint64_t vk_search
Definition: vmem_impl_user.h:115
vmem_alloc_t * vm_source_alloc
Definition: vmem_impl_user.h:132
vmem_seg_t * vs_knext
Definition: vmem_impl_user.h:84
vmem_seg_t * vs_kprev
Definition: vmem_impl_user.h:85
vmem_seg_t * vm_segfree
Definition: vmem_impl_user.h:137
struct vmem_populate_lock vmem_populate_lock_t
uintptr_t vs_start
Definition: vmem_impl_user.h:82
ulong_t vm_freemap
Definition: vmem_impl_user.h:141
thread_t vmpl_thr
Definition: vmem_impl_user.h:156
Definition: vmem_impl_user.h:105
vmem_t * vm_source
Definition: vmem_impl_user.h:134
vmem_freelist_t vm_freelist[VMEM_FREELISTS+1]
Definition: vmem_impl_user.h:146
vmem_seg_t ** vm_hash_table
Definition: vmem_impl_user.h:138
uint64_t vk_fail
Definition: vmem_impl_user.h:113
pthread_cond_t cond_t
Definition: sol_compat.h:46
ssize_t vm_nsegfree
Definition: vmem_impl_user.h:136
pthread_mutex_t mutex_t
Definition: sol_compat.h:45
Definition: vmem_impl_user.h:122
u_int64_t hrtime_t
Definition: sol_compat.h:47
vmem_seg_t * vs_knext
Definition: vmem_impl_user.h:65
uint64_t vk_mem_inuse
Definition: vmem_impl_user.h:106
void() vmem_free_t(vmem_t *, void *, size_t)
Definition: vmem.h:107
char vm_name[VMEM_NAMELEN]
Definition: vmem_impl_user.h:123
uint64_t vk_populate_fail
Definition: vmem_impl_user.h:117
vmem_free_t * vm_source_free
Definition: vmem_impl_user.h:133
#define VMEM_NQCACHE_MAX
Definition: vmem_impl_user.h:102
Definition: vmem_impl_user.h:81
cond_t vm_cv
Definition: vmem_impl_user.h:124
uintptr_t vs_end
Definition: vmem_impl_user.h:83
uint64_t vk_contains_search
Definition: vmem_impl_user.h:119
Definition: vmem_impl_user.h:59
#define VMEM_FREELISTS
Definition: vmem_impl_user.h:103
vmem_seg_t * vm_hash0[VMEM_HASH_INITIAL]
Definition: vmem_impl_user.h:144
uint64_t vk_contains
Definition: vmem_impl_user.h:118
vmem_seg_t * vs_anext
Definition: vmem_impl_user.h:68
vmem_seg_t vm_rotor
Definition: vmem_impl_user.h:143
uint64_t vk_lookup
Definition: vmem_impl_user.h:114
size_t vm_hash_mask
Definition: vmem_impl_user.h:139
struct vmem_freelist vmem_freelist_t
thread_t vs_thread
Definition: vmem_impl_user.h:76
size_t vm_quantum
Definition: vmem_impl_user.h:130
pthread_t thread_t
Definition: sol_compat.h:44
uintptr_t vs_start
Definition: vmem_impl_user.h:63
size_t vm_qcache_max
Definition: vmem_impl_user.h:131
uint32_t vm_id
Definition: vmem_impl_user.h:126
uint64_t vk_free
Definition: vmem_impl_user.h:111
uintptr_t vs_stack[VMEM_STACK_DEPTH]
Definition: vmem_impl_user.h:78
void * vm_qcache[VMEM_NQCACHE_MAX]
Definition: vmem_impl_user.h:145
Definition: vmem_impl_user.h:154
uint8_t vs_type
Definition: vmem_impl_user.h:70
vmem_seg_t * vs_aprev
Definition: vmem_impl_user.h:69
#define VMEM_HASH_INITIAL
Definition: vmem_impl_user.h:101
uint8_t vs_import
Definition: vmem_impl_user.h:71
uintptr_t vs_end
Definition: vmem_impl_user.h:64
#define VMEM_STACK_DEPTH
Definition: vmem_impl_user.h:57
unsigned long ulong_t
Definition: sol_compat.h:49
uint64_t vk_mem_total
Definition: vmem_impl_user.h:108
#define VMEM_NAMELEN
Definition: vmem_impl_user.h:100
uint64_t vk_wait
Definition: vmem_impl_user.h:112
vmem_t * vm_next
Definition: vmem_impl_user.h:135
size_t vm_hash_shift
Definition: vmem_impl_user.h:140
struct vmem_kstat vmem_kstat_t
void *() vmem_alloc_t(vmem_t *, size_t, int)
Definition: vmem.h:106
uint64_t vk_mem_import
Definition: vmem_impl_user.h:107
vmem_seg_t vm_seg0
Definition: vmem_impl_user.h:142
int vm_qshift
Definition: vmem_impl_user.h:129
uint64_t vk_alloc
Definition: vmem_impl_user.h:110
int vm_cflags
Definition: vmem_impl_user.h:128
vmem_kstat_t vm_kstat
Definition: vmem_impl_user.h:147
uint8_t vs_depth
Definition: vmem_impl_user.h:72
uint32_t vk_source_id
Definition: vmem_impl_user.h:109
mutex_t vmpl_mutex
Definition: vmem_impl_user.h:155
uint64_t vk_populate_wait
Definition: vmem_impl_user.h:116
uint32_t vm_mtbf
Definition: vmem_impl_user.h:127