Lines Matching refs:head
15 struct pcpu_freelist_head *head = per_cpu_ptr(s->freelist, cpu); in pcpu_freelist_init() local
17 raw_res_spin_lock_init(&head->lock); in pcpu_freelist_init()
18 head->first = NULL; in pcpu_freelist_init()
28 static inline void pcpu_freelist_push_node(struct pcpu_freelist_head *head, in pcpu_freelist_push_node() argument
31 node->next = head->first; in pcpu_freelist_push_node()
32 WRITE_ONCE(head->first, node); in pcpu_freelist_push_node()
35 static inline bool ___pcpu_freelist_push(struct pcpu_freelist_head *head, in ___pcpu_freelist_push() argument
38 if (raw_res_spin_lock(&head->lock)) in ___pcpu_freelist_push()
40 pcpu_freelist_push_node(head, node); in ___pcpu_freelist_push()
41 raw_res_spin_unlock(&head->lock); in ___pcpu_freelist_push()
48 struct pcpu_freelist_head *head; in __pcpu_freelist_push() local
58 head = per_cpu_ptr(s->freelist, cpu); in __pcpu_freelist_push()
59 if (raw_res_spin_lock(&head->lock)) in __pcpu_freelist_push()
61 pcpu_freelist_push_node(head, node); in __pcpu_freelist_push()
62 raw_res_spin_unlock(&head->lock); in __pcpu_freelist_push()
81 struct pcpu_freelist_head *head; in pcpu_freelist_populate() local
89 head = per_cpu_ptr(s->freelist, cpu); in pcpu_freelist_populate()
93 pcpu_freelist_push_node(head, buf); in pcpu_freelist_populate()
103 struct pcpu_freelist_head *head; in ___pcpu_freelist_pop() local
107 head = per_cpu_ptr(s->freelist, cpu); in ___pcpu_freelist_pop()
108 if (!READ_ONCE(head->first)) in ___pcpu_freelist_pop()
110 if (raw_res_spin_lock(&head->lock)) in ___pcpu_freelist_pop()
112 node = head->first; in ___pcpu_freelist_pop()
114 WRITE_ONCE(head->first, node->next); in ___pcpu_freelist_pop()
115 raw_res_spin_unlock(&head->lock); in ___pcpu_freelist_pop()
118 raw_res_spin_unlock(&head->lock); in ___pcpu_freelist_pop()