Lines Matching refs:head

170 		struct uv_rtc_timer_head *head = blade_info[bid];  in uv_rtc_allocate_timers()  local
172 if (!head) { in uv_rtc_allocate_timers()
173 head = kmalloc_node(sizeof(struct uv_rtc_timer_head) + in uv_rtc_allocate_timers()
177 if (!head) { in uv_rtc_allocate_timers()
181 spin_lock_init(&head->lock); in uv_rtc_allocate_timers()
182 head->ncpus = uv_blade_nr_possible_cpus(bid); in uv_rtc_allocate_timers()
183 head->next_cpu = -1; in uv_rtc_allocate_timers()
184 blade_info[bid] = head; in uv_rtc_allocate_timers()
187 head->cpu[bcpu].lcpu = cpu; in uv_rtc_allocate_timers()
188 head->cpu[bcpu].expires = ULLONG_MAX; in uv_rtc_allocate_timers()
195 static void uv_rtc_find_next_timer(struct uv_rtc_timer_head *head, int pnode) in uv_rtc_find_next_timer() argument
200 head->next_cpu = -1; in uv_rtc_find_next_timer()
201 for (c = 0; c < head->ncpus; c++) { in uv_rtc_find_next_timer()
202 u64 exp = head->cpu[c].expires; in uv_rtc_find_next_timer()
209 head->next_cpu = bcpu; in uv_rtc_find_next_timer()
210 c = head->cpu[bcpu].lcpu; in uv_rtc_find_next_timer()
229 struct uv_rtc_timer_head *head = blade_info[bid]; in uv_rtc_set_timer() local
231 u64 *t = &head->cpu[bcpu].expires; in uv_rtc_set_timer()
235 spin_lock_irqsave(&head->lock, flags); in uv_rtc_set_timer()
237 next_cpu = head->next_cpu; in uv_rtc_set_timer()
242 expires < head->cpu[next_cpu].expires) { in uv_rtc_set_timer()
243 head->next_cpu = bcpu; in uv_rtc_set_timer()
246 uv_rtc_find_next_timer(head, pnode); in uv_rtc_set_timer()
247 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_set_timer()
252 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_set_timer()
265 struct uv_rtc_timer_head *head = blade_info[bid]; in uv_rtc_unset_timer() local
267 u64 *t = &head->cpu[bcpu].expires; in uv_rtc_unset_timer()
271 spin_lock_irqsave(&head->lock, flags); in uv_rtc_unset_timer()
273 if ((head->next_cpu == bcpu && uv_read_rtc(NULL) >= *t) || force) in uv_rtc_unset_timer()
279 if (head->next_cpu == bcpu) in uv_rtc_unset_timer()
280 uv_rtc_find_next_timer(head, pnode); in uv_rtc_unset_timer()
283 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_unset_timer()