• Home
  • Raw
  • Download

Lines Matching refs:head

147 		struct uv_rtc_timer_head *head = blade_info[bid];  in uv_rtc_allocate_timers()  local
149 if (!head) { in uv_rtc_allocate_timers()
150 head = kmalloc_node(struct_size(head, cpu, in uv_rtc_allocate_timers()
153 if (!head) { in uv_rtc_allocate_timers()
157 spin_lock_init(&head->lock); in uv_rtc_allocate_timers()
158 head->ncpus = uv_blade_nr_possible_cpus(bid); in uv_rtc_allocate_timers()
159 head->next_cpu = -1; in uv_rtc_allocate_timers()
160 blade_info[bid] = head; in uv_rtc_allocate_timers()
163 head->cpu[bcpu].lcpu = cpu; in uv_rtc_allocate_timers()
164 head->cpu[bcpu].expires = ULLONG_MAX; in uv_rtc_allocate_timers()
171 static void uv_rtc_find_next_timer(struct uv_rtc_timer_head *head, int pnode) in uv_rtc_find_next_timer() argument
176 head->next_cpu = -1; in uv_rtc_find_next_timer()
177 for (c = 0; c < head->ncpus; c++) { in uv_rtc_find_next_timer()
178 u64 exp = head->cpu[c].expires; in uv_rtc_find_next_timer()
185 head->next_cpu = bcpu; in uv_rtc_find_next_timer()
186 c = head->cpu[bcpu].lcpu; in uv_rtc_find_next_timer()
205 struct uv_rtc_timer_head *head = blade_info[bid]; in uv_rtc_set_timer() local
207 u64 *t = &head->cpu[bcpu].expires; in uv_rtc_set_timer()
211 spin_lock_irqsave(&head->lock, flags); in uv_rtc_set_timer()
213 next_cpu = head->next_cpu; in uv_rtc_set_timer()
218 expires < head->cpu[next_cpu].expires) { in uv_rtc_set_timer()
219 head->next_cpu = bcpu; in uv_rtc_set_timer()
222 uv_rtc_find_next_timer(head, pnode); in uv_rtc_set_timer()
223 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_set_timer()
228 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_set_timer()
241 struct uv_rtc_timer_head *head = blade_info[bid]; in uv_rtc_unset_timer() local
243 u64 *t = &head->cpu[bcpu].expires; in uv_rtc_unset_timer()
247 spin_lock_irqsave(&head->lock, flags); in uv_rtc_unset_timer()
249 if ((head->next_cpu == bcpu && uv_read_rtc(NULL) >= *t) || force) in uv_rtc_unset_timer()
255 if (head->next_cpu == bcpu) in uv_rtc_unset_timer()
256 uv_rtc_find_next_timer(head, pnode); in uv_rtc_unset_timer()
259 spin_unlock_irqrestore(&head->lock, flags); in uv_rtc_unset_timer()