Lines Matching refs:reserve

81  * @reserve: pool of memory from which devices reserve entitlement, incl. spare
94 struct vio_cmo_pool reserve;
154 /* Determine the amount of free entitlement available in reserve */
184 * the reserve pool is used to reduce device entitlement, the excess
185 * pool is used to increase the reserve pool toward the desired entitlement
211 /* Spare is a subset of the reserve pool, replenish it first. */
215 * Replenish the spare in the reserve pool from the excess pool.
216 * This moves entitlement into the reserve pool.
221 vio_cmo.reserve.size += tmp;
229 * Replenish the spare in the reserve pool from the reserve pool.
245 * Increase the reserve pool until the desired allocation is met.
246 * Move an allocation freed from the excess pool into the reserve
249 if (excess_freed && (vio_cmo.desired > vio_cmo.reserve.size)) {
250 tmp = min(excess_freed, (vio_cmo.desired - vio_cmo.reserve.size));
253 vio_cmo.reserve.size += tmp;
295 vio_cmo.reserve.size += tmp;
378 * Upon completion sizes of the reserve and excess pools are calculated.
460 /* Calculate new reserve and excess pool sizes */
461 cmo->reserve.size = cmo->min;
467 /* Calculated reserve size above the minimum entitlement */
469 cmo->reserve.size += (viodev->cmo.entitled -
475 cmo->excess.size = cmo->entitled - cmo->reserve.size;
667 * any reserve memory in the change region to the excess pool.
670 vio_cmo.reserve.size -= viodev->cmo.entitled - desired;
673 * If entitlement moving from the reserve pool to the
762 * the reserve pool.
787 vio_cmo.reserve.size += tmp;
849 * Save min allocation for device in reserve as long
855 /* Replenish spare from freed reserve pool */
863 /* Remaining reserve goes to excess pool */
866 vio_cmo.reserve.size -= viodev->cmo.entitled;
889 * Set up the reserve and excess entitlement pools based on available
891 * require entitlement in the reserve pool.
920 vio_cmo.reserve.size = vio_cmo.spare;
921 vio_cmo.reserve.size += (vio_cmo_num_OF_devs() *
923 if (vio_cmo.reserve.size > vio_cmo.entitled) {
930 vio_cmo.excess.size = vio_cmo.entitled - vio_cmo.reserve.size;
932 vio_cmo.min = vio_cmo.reserve.size;
933 vio_cmo.desired = vio_cmo.reserve.size;
1017 viobus_cmo_pool_rd_attr(reserve, size);