/* x_{j} /= 2^(c - c_{j}), c_{j} = c  */
int prop_descriptor_init(struct prop_descriptor *pd, int shift)
/* x_{j} /= 2^(c - c_{j}), c_{j} = c  */
int prop_descriptor_init(struct prop_descriptor *pd, int shift)
{
	int err;
	if (shift > PROP_MAX_SHIFT)
		shift = PROP_MAX_SHIFT;
	pd->index = 0;
	pd->pg[0].shift = shift;
	mutex_init(&pd->mutex);
	err = percpu_counter_init(&pd->pg[0].events, 0);
	if (err)
		goto out;
	err = percpu_counter_init(&pd->pg[1].events, 0);
	if (err)
		percpu_counter_destroy(&pd->pg[0].events);
out:
	return err;
}