Lines Matching refs:swhash

9536 find_swevent_head_rcu(struct swevent_htable *swhash, u64 type, u32 event_id)  in find_swevent_head_rcu()  argument
9540 hlist = rcu_dereference(swhash->swevent_hlist); in find_swevent_head_rcu()
9549 find_swevent_head(struct swevent_htable *swhash, struct perf_event *event) in find_swevent_head() argument
9560 hlist = rcu_dereference_protected(swhash->swevent_hlist, in find_swevent_head()
9573 struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable); in do_perf_sw_event() local
9578 head = find_swevent_head_rcu(swhash, type, event_id); in do_perf_sw_event()
9594 struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable); in perf_swevent_get_recursion_context() local
9596 return get_recursion_context(swhash->recursion); in perf_swevent_get_recursion_context()
9602 struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable); in perf_swevent_put_recursion_context() local
9604 put_recursion_context(swhash->recursion, rctx); in perf_swevent_put_recursion_context()
9640 struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable); in perf_swevent_add() local
9651 head = find_swevent_head(swhash, event); in perf_swevent_add()
9678 swevent_hlist_deref(struct swevent_htable *swhash) in swevent_hlist_deref() argument
9680 return rcu_dereference_protected(swhash->swevent_hlist, in swevent_hlist_deref()
9681 lockdep_is_held(&swhash->hlist_mutex)); in swevent_hlist_deref()
9684 static void swevent_hlist_release(struct swevent_htable *swhash) in swevent_hlist_release() argument
9686 struct swevent_hlist *hlist = swevent_hlist_deref(swhash); in swevent_hlist_release()
9691 RCU_INIT_POINTER(swhash->swevent_hlist, NULL); in swevent_hlist_release()
9697 struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu); in swevent_hlist_put_cpu() local
9699 mutex_lock(&swhash->hlist_mutex); in swevent_hlist_put_cpu()
9701 if (!--swhash->hlist_refcount) in swevent_hlist_put_cpu()
9702 swevent_hlist_release(swhash); in swevent_hlist_put_cpu()
9704 mutex_unlock(&swhash->hlist_mutex); in swevent_hlist_put_cpu()
9717 struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu); in swevent_hlist_get_cpu() local
9720 mutex_lock(&swhash->hlist_mutex); in swevent_hlist_get_cpu()
9721 if (!swevent_hlist_deref(swhash) && in swevent_hlist_get_cpu()
9730 rcu_assign_pointer(swhash->swevent_hlist, hlist); in swevent_hlist_get_cpu()
9732 swhash->hlist_refcount++; in swevent_hlist_get_cpu()
9734 mutex_unlock(&swhash->hlist_mutex); in swevent_hlist_get_cpu()
13444 struct swevent_htable *swhash; in perf_event_init_all_cpus() local
13450 swhash = &per_cpu(swevent_htable, cpu); in perf_event_init_all_cpus()
13451 mutex_init(&swhash->hlist_mutex); in perf_event_init_all_cpus()
13466 struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu); in perf_swevent_init_cpu() local
13468 mutex_lock(&swhash->hlist_mutex); in perf_swevent_init_cpu()
13469 if (swhash->hlist_refcount > 0 && !swevent_hlist_deref(swhash)) { in perf_swevent_init_cpu()
13474 rcu_assign_pointer(swhash->swevent_hlist, hlist); in perf_swevent_init_cpu()
13476 mutex_unlock(&swhash->hlist_mutex); in perf_swevent_init_cpu()