Lines Matching defs:excess
80 * @excess: pool of excess entitlement not needed for device reserves or spare
93 struct vio_cmo_pool excess;
135 * Allocations come from memory reserved for the devices and any excess
137 * hotplug must be equal to %VIO_CMO_MIN_ENT for the excess pool to be
156 /* If spare is not fulfilled, the excess pool can not be used. */
158 excess_free = vio_cmo.excess.free;
167 vio_cmo.excess.free -= size;
182 * the reserve pool is used to reduce device entitlement, the excess
199 /* Amount of memory freed from the excess pool */
213 * Replenish the spare in the reserve pool from the excess pool.
218 vio_cmo.excess.size -= tmp;
244 * Move an allocation freed from the excess pool into the reserve
250 vio_cmo.excess.size -= tmp;
256 /* Return memory from the excess pool to that pool */
258 vio_cmo.excess.free += excess_freed;
271 * and the rest is given to the excess pool. Decreases, if they are
272 * possible, come from the excess pool and from unused device entitlement
297 /* Remaining new allocation goes to the excess pool */
299 vio_cmo.excess.size += delta;
300 vio_cmo.excess.free += delta;
307 avail = vio_cmo.excess.free;
328 /* Take entitlement from the excess pool first */
329 tmp = min(vio_cmo.excess.free, delta);
330 vio_cmo.excess.size -= tmp;
331 vio_cmo.excess.free -= tmp;
376 * Upon completion sizes of the reserve and excess pools are calculated.
458 /* Calculate new reserve and excess pool sizes */
460 cmo->excess.free = 0;
461 cmo->excess.size = 0;
469 /* Calculated used excess entitlement */
473 cmo->excess.size = cmo->entitled - cmo->reserve.size;
474 cmo->excess.free = cmo->excess.size - need;
664 * any reserve memory in the change region to the excess pool.
668 vio_cmo.excess.size += viodev->cmo.entitled - desired;
671 * excess pool is currently unused, add to the excess
675 vio_cmo.excess.free += viodev->cmo.entitled -
770 tmp = vio_cmo.spare + vio_cmo.excess.free;
780 /* Use excess pool first to fulfill request */
781 tmp = min(size, vio_cmo.excess.free);
782 vio_cmo.excess.free -= tmp;
783 vio_cmo.excess.size -= tmp;
786 /* Use spare if excess pool was insufficient */
860 /* Remaining reserve goes to excess pool */
861 vio_cmo.excess.size += viodev->cmo.entitled;
862 vio_cmo.excess.free += viodev->cmo.entitled;
886 * Set up the reserve and excess entitlement pools based on available
927 vio_cmo.excess.size = vio_cmo.entitled - vio_cmo.reserve.size;
928 vio_cmo.excess.free = vio_cmo.excess.size;
1027 viobus_cmo_pool_rd_attr(excess, size);
1028 viobus_cmo_pool_rd_attr(excess, free);