Searched refs:fob (Results 1 – 6 of 6) sorted by relevance
| /xnu-8019.80.24/bsd/skywalk/nexus/flowswitch/flow/ ! |
| H A D | flow_owner.c | 48 struct flow_owner_bucket *fob; in flow_owner_buckets_alloc() local 53 *fob_sz = P2ROUNDUP(sizeof(*fob), cache_sz); in flow_owner_buckets_alloc() 69 fob = (struct flow_owner_bucket *) in flow_owner_buckets_alloc() 71 fob_pbuf = (void **)((intptr_t)fob - sizeof(void *)); in flow_owner_buckets_alloc() 73 ASSERT(((intptr_t)fob + (fob_cnt * (*fob_sz))) <= in flow_owner_buckets_alloc() 78 "(total %zu bytes, fob_buf 0x%llx) ALLOC", SK_KVA(fob), fob_cnt, in flow_owner_buckets_alloc() 81 return fob; in flow_owner_buckets_alloc() 85 flow_owner_buckets_free(struct flow_owner_bucket *fob, size_t tot_sz) in flow_owner_buckets_free() argument 90 fob_pbuf = (void **)((intptr_t)fob - sizeof(void *)); in flow_owner_buckets_free() 92 SK_DF(SK_VERB_MEM, "fob 0x%llx (fob_buf 0x%llx) FREE", SK_KVA(fob), in flow_owner_buckets_free() [all …]
|
| H A D | flow_manager.c | 220 struct flow_owner_bucket *fob = flow_mgr_get_fob_at_idx(fm, i); in flow_mgr_create() local 221 flow_owner_bucket_init(fob); in flow_mgr_create() 223 *(size_t *)(uintptr_t)&fob->fob_idx = i; in flow_mgr_create() 283 struct flow_owner_bucket *fob = in flow_mgr_destroy() local 285 ASSERT(fob->fob_idx == i); in flow_mgr_destroy() 286 flow_owner_bucket_destroy(fob); in flow_mgr_destroy() 351 struct flow_owner_bucket *fob = in flow_mgr_terminate() local 353 FOB_LOCK(fob); in flow_mgr_terminate() 354 fob->fob_busy_flags |= FOBF_DEAD; in flow_mgr_terminate() 357 struct flow_owner_bucket *fob = in flow_mgr_terminate() local [all …]
|
| H A D | flow_entry.c | 157 flow_owner_find_by_pid(struct flow_owner_bucket *fob, pid_t pid, void *context, in flow_owner_find_by_pid() argument 164 FOB_LOCK_ASSERT_HELD(fob); in flow_owner_find_by_pid() 165 return RB_FIND(flow_owner_tree, &fob->fob_owner_head, &find); in flow_owner_find_by_pid()
|
| /xnu-8019.80.24/bsd/skywalk/nexus/flowswitch/ ! |
| H A D | fsw_flow.c | 43 struct flow_owner_bucket *fob; in fsw_flow_add() local 101 fob = flow_mgr_get_fob_by_pid(fm, pid); in fsw_flow_add() 102 FOB_LOCK_SPIN(fob); in fsw_flow_add() 103 while (fob->fob_busy_flags & (FOBF_OPEN_BUSY | FOBF_CLOSE_BUSY)) { in fsw_flow_add() 104 if (++(fob->fob_open_waiters) == 0) { /* wraparound */ in fsw_flow_add() 105 fob->fob_open_waiters++; in fsw_flow_add() 107 if ((*error = msleep(&fob->fob_open_waiters, &fob->fob_lock, in fsw_flow_add() 112 ASSERT(fob->fob_open_waiters > 0); in fsw_flow_add() 113 fob->fob_open_waiters--; in fsw_flow_add() 114 FOB_UNLOCK(fob); in fsw_flow_add() [all …]
|
| H A D | fsw.c | 1729 struct flow_owner_bucket *fob = flow_mgr_get_fob_at_idx(fm, i); in fsw_mib_get_flow_owner() local 1730 FOB_LOCK(fob); in fsw_mib_get_flow_owner() 1731 RB_FOREACH(fo, flow_owner_tree, &fob->fob_owner_head) { in fsw_mib_get_flow_owner() 1740 FOB_UNLOCK(fob); in fsw_mib_get_flow_owner()
|
| H A D | fsw_dp.c | 3513 struct flow_owner_bucket *fob = flow_mgr_get_fob_at_idx(fm, i); in fsw_process_deferred() local 3520 if (!FOB_TRY_LOCK(fob)) { in fsw_process_deferred() 3524 FOB_LOCK(fob); in fsw_process_deferred() 3527 FOB_LOCK_ASSERT_HELD(fob); in fsw_process_deferred() 3528 RB_FOREACH(fo, flow_owner_tree, &fob->fob_owner_head) { in fsw_process_deferred() 3567 FOB_UNLOCK(fob); in fsw_process_deferred()
|