Lines Matching refs:pd
76 int prop_descriptor_init(struct prop_descriptor *pd, int shift, gfp_t gfp) in prop_descriptor_init() argument
83 pd->index = 0; in prop_descriptor_init()
84 pd->pg[0].shift = shift; in prop_descriptor_init()
85 mutex_init(&pd->mutex); in prop_descriptor_init()
86 err = percpu_counter_init(&pd->pg[0].events, 0, gfp); in prop_descriptor_init()
90 err = percpu_counter_init(&pd->pg[1].events, 0, gfp); in prop_descriptor_init()
92 percpu_counter_destroy(&pd->pg[0].events); in prop_descriptor_init()
105 void prop_change_shift(struct prop_descriptor *pd, int shift) in prop_change_shift() argument
115 mutex_lock(&pd->mutex); in prop_change_shift()
117 index = pd->index ^ 1; in prop_change_shift()
118 offset = pd->pg[pd->index].shift - shift; in prop_change_shift()
122 pd->pg[index].shift = shift; in prop_change_shift()
125 events = percpu_counter_sum(&pd->pg[pd->index].events); in prop_change_shift()
130 percpu_counter_set(&pd->pg[index].events, events); in prop_change_shift()
136 pd->index = index; in prop_change_shift()
142 mutex_unlock(&pd->mutex); in prop_change_shift()
149 static struct prop_global *prop_get_global(struct prop_descriptor *pd) in prop_get_global() argument
155 index = pd->index; in prop_get_global()
160 return &pd->pg[index]; in prop_get_global()
163 static void prop_put_global(struct prop_descriptor *pd, struct prop_global *pg) in prop_put_global() argument
256 void __prop_inc_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl) in __prop_inc_percpu() argument
258 struct prop_global *pg = prop_get_global(pd); in __prop_inc_percpu()
263 prop_put_global(pd, pg); in __prop_inc_percpu()
270 void __prop_inc_percpu_max(struct prop_descriptor *pd, in __prop_inc_percpu_max() argument
273 struct prop_global *pg = prop_get_global(pd); in __prop_inc_percpu_max()
295 prop_put_global(pd, pg); in __prop_inc_percpu_max()
303 void prop_fraction_percpu(struct prop_descriptor *pd, in prop_fraction_percpu() argument
307 struct prop_global *pg = prop_get_global(pd); in prop_fraction_percpu()
318 prop_put_global(pd, pg); in prop_fraction_percpu()
376 void __prop_inc_single(struct prop_descriptor *pd, struct prop_local_single *pl) in __prop_inc_single() argument
378 struct prop_global *pg = prop_get_global(pd); in __prop_inc_single()
383 prop_put_global(pd, pg); in __prop_inc_single()
391 void prop_fraction_single(struct prop_descriptor *pd, in prop_fraction_single() argument
395 struct prop_global *pg = prop_get_global(pd); in prop_fraction_single()
406 prop_put_global(pd, pg); in prop_fraction_single()