Lines Matching refs:idx
30 static void cpudl_heapify_down(struct cpudl *cp, int idx) in cpudl_heapify_down() argument
34 int orig_cpu = cp->elements[idx].cpu; in cpudl_heapify_down()
35 u64 orig_dl = cp->elements[idx].dl; in cpudl_heapify_down()
37 if (left_child(idx) >= cp->size) in cpudl_heapify_down()
44 l = left_child(idx); in cpudl_heapify_down()
45 r = right_child(idx); in cpudl_heapify_down()
46 largest = idx; in cpudl_heapify_down()
58 if (largest == idx) in cpudl_heapify_down()
62 cp->elements[idx].cpu = cp->elements[largest].cpu; in cpudl_heapify_down()
63 cp->elements[idx].dl = cp->elements[largest].dl; in cpudl_heapify_down()
64 cp->elements[cp->elements[idx].cpu].idx = idx; in cpudl_heapify_down()
65 idx = largest; in cpudl_heapify_down()
68 cp->elements[idx].cpu = orig_cpu; in cpudl_heapify_down()
69 cp->elements[idx].dl = orig_dl; in cpudl_heapify_down()
70 cp->elements[cp->elements[idx].cpu].idx = idx; in cpudl_heapify_down()
73 static void cpudl_heapify_up(struct cpudl *cp, int idx) in cpudl_heapify_up() argument
77 int orig_cpu = cp->elements[idx].cpu; in cpudl_heapify_up()
78 u64 orig_dl = cp->elements[idx].dl; in cpudl_heapify_up()
80 if (idx == 0) in cpudl_heapify_up()
84 p = parent(idx); in cpudl_heapify_up()
88 cp->elements[idx].cpu = cp->elements[p].cpu; in cpudl_heapify_up()
89 cp->elements[idx].dl = cp->elements[p].dl; in cpudl_heapify_up()
90 cp->elements[cp->elements[idx].cpu].idx = idx; in cpudl_heapify_up()
91 idx = p; in cpudl_heapify_up()
92 } while (idx != 0); in cpudl_heapify_up()
94 cp->elements[idx].cpu = orig_cpu; in cpudl_heapify_up()
95 cp->elements[idx].dl = orig_dl; in cpudl_heapify_up()
96 cp->elements[cp->elements[idx].cpu].idx = idx; in cpudl_heapify_up()
99 static void cpudl_heapify(struct cpudl *cp, int idx) in cpudl_heapify() argument
101 if (idx > 0 && dl_time_before(cp->elements[parent(idx)].dl, in cpudl_heapify()
102 cp->elements[idx].dl)) in cpudl_heapify()
103 cpudl_heapify_up(cp, idx); in cpudl_heapify()
105 cpudl_heapify_down(cp, idx); in cpudl_heapify()
163 old_idx = cp->elements[cpu].idx; in cpudl_clear()
175 cp->elements[new_cpu].idx = old_idx; in cpudl_clear()
176 cp->elements[cpu].idx = IDX_INVALID; in cpudl_clear()
203 old_idx = cp->elements[cpu].idx; in cpudl_set()
209 cp->elements[cpu].idx = new_idx; in cpudl_set()
263 cp->elements[i].idx = IDX_INVALID; in cpudl_init()