Symbol: vio_cmo
arch/powerpc/platforms/pseries/vio.c
1002
return sysfs_emit(buf, "%lu\n", vio_cmo.name); \
arch/powerpc/platforms/pseries/vio.c
1011
return sysfs_emit(buf, "%lu\n", vio_cmo.name.var); \
arch/powerpc/platforms/pseries/vio.c
102
} vio_cmo;
arch/powerpc/platforms/pseries/vio.c
1026
return sysfs_emit(buf, "%lu\n", vio_cmo.high);
arch/powerpc/platforms/pseries/vio.c
1034
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
1035
vio_cmo.high = vio_cmo.curr;
arch/powerpc/platforms/pseries/vio.c
1036
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
153
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
160
if (vio_cmo.spare >= VIO_CMO_MIN_ENT)
arch/powerpc/platforms/pseries/vio.c
161
excess_free = vio_cmo.excess.free;
arch/powerpc/platforms/pseries/vio.c
165
vio_cmo.curr += size;
arch/powerpc/platforms/pseries/vio.c
166
if (vio_cmo.curr > vio_cmo.high)
arch/powerpc/platforms/pseries/vio.c
167
vio_cmo.high = vio_cmo.curr;
arch/powerpc/platforms/pseries/vio.c
170
vio_cmo.excess.free -= size;
arch/powerpc/platforms/pseries/vio.c
174
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
199
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
200
vio_cmo.curr -= size;
arch/powerpc/platforms/pseries/vio.c
213
spare_needed = VIO_CMO_MIN_ENT - vio_cmo.spare;
arch/powerpc/platforms/pseries/vio.c
221
vio_cmo.excess.size -= tmp;
arch/powerpc/platforms/pseries/vio.c
222
vio_cmo.reserve.size += tmp;
arch/powerpc/platforms/pseries/vio.c
223
vio_cmo.spare += tmp;
arch/powerpc/platforms/pseries/vio.c
238
vio_cmo.spare += tmp;
arch/powerpc/platforms/pseries/vio.c
250
if (excess_freed && (vio_cmo.desired > vio_cmo.reserve.size)) {
arch/powerpc/platforms/pseries/vio.c
251
tmp = min(excess_freed, (vio_cmo.desired - vio_cmo.reserve.size));
arch/powerpc/platforms/pseries/vio.c
253
vio_cmo.excess.size -= tmp;
arch/powerpc/platforms/pseries/vio.c
254
vio_cmo.reserve.size += tmp;
arch/powerpc/platforms/pseries/vio.c
261
vio_cmo.excess.free += excess_freed;
arch/powerpc/platforms/pseries/vio.c
264
schedule_delayed_work(&vio_cmo.balance_q, VIO_CMO_BALANCE_DELAY);
arch/powerpc/platforms/pseries/vio.c
265
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
286
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
289
if (new_entitlement > vio_cmo.entitled) {
arch/powerpc/platforms/pseries/vio.c
290
delta = new_entitlement - vio_cmo.entitled;
arch/powerpc/platforms/pseries/vio.c
293
if (vio_cmo.spare < VIO_CMO_MIN_ENT) {
arch/powerpc/platforms/pseries/vio.c
294
tmp = min(delta, (VIO_CMO_MIN_ENT - vio_cmo.spare));
arch/powerpc/platforms/pseries/vio.c
295
vio_cmo.spare += tmp;
arch/powerpc/platforms/pseries/vio.c
296
vio_cmo.reserve.size += tmp;
arch/powerpc/platforms/pseries/vio.c
301
vio_cmo.entitled += delta;
arch/powerpc/platforms/pseries/vio.c
302
vio_cmo.excess.size += delta;
arch/powerpc/platforms/pseries/vio.c
303
vio_cmo.excess.free += delta;
arch/powerpc/platforms/pseries/vio.c
309
delta = vio_cmo.entitled - new_entitlement;
arch/powerpc/platforms/pseries/vio.c
310
avail = vio_cmo.excess.free;
arch/powerpc/platforms/pseries/vio.c
316
list_for_each_entry(dev_ent, &vio_cmo.device_list, list) {
arch/powerpc/platforms/pseries/vio.c
329
vio_cmo.entitled -= delta;
arch/powerpc/platforms/pseries/vio.c
332
tmp = min(vio_cmo.excess.free, delta);
arch/powerpc/platforms/pseries/vio.c
333
vio_cmo.excess.size -= tmp;
arch/powerpc/platforms/pseries/vio.c
334
vio_cmo.excess.free -= tmp;
arch/powerpc/platforms/pseries/vio.c
341
list_for_each_entry(dev_ent, &vio_cmo.device_list, list) {
arch/powerpc/platforms/pseries/vio.c
356
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
361
schedule_delayed_work(&vio_cmo.balance_q, 0);
arch/powerpc/platforms/pseries/vio.c
362
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
389
struct vio_cmo *cmo;
arch/powerpc/platforms/pseries/vio.c
396
cmo = container_of(work, struct vio_cmo, balance_q.work);
arch/powerpc/platforms/pseries/vio.c
398
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
412
list_for_each_entry(dev_ent, &vio_cmo.device_list, list) {
arch/powerpc/platforms/pseries/vio.c
428
list_for_each_entry(dev_ent, &vio_cmo.device_list, list) {
arch/powerpc/platforms/pseries/vio.c
466
list_for_each_entry(dev_ent, &vio_cmo.device_list, list) {
arch/powerpc/platforms/pseries/vio.c
480
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
641
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
650
list_for_each_entry(dev_ent, &vio_cmo.device_list, list)
arch/powerpc/platforms/pseries/vio.c
656
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
663
vio_cmo.desired += desired - viodev->cmo.desired;
arch/powerpc/platforms/pseries/vio.c
667
vio_cmo.desired -= viodev->cmo.desired - desired;
arch/powerpc/platforms/pseries/vio.c
674
vio_cmo.reserve.size -= viodev->cmo.entitled - desired;
arch/powerpc/platforms/pseries/vio.c
675
vio_cmo.excess.size += viodev->cmo.entitled - desired;
arch/powerpc/platforms/pseries/vio.c
682
vio_cmo.excess.free += viodev->cmo.entitled -
arch/powerpc/platforms/pseries/vio.c
687
schedule_delayed_work(&vio_cmo.balance_q, 0);
arch/powerpc/platforms/pseries/vio.c
688
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
753
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
754
list_add(&dev_ent->list, &vio_cmo.device_list);
arch/powerpc/platforms/pseries/vio.c
758
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
767
if (vio_cmo.min == ((vio_cmo_num_OF_devs() + 1) *
arch/powerpc/platforms/pseries/vio.c
771
vio_cmo.desired += (viodev->cmo.desired -
arch/powerpc/platforms/pseries/vio.c
776
tmp = vio_cmo.spare + vio_cmo.excess.free;
arch/powerpc/platforms/pseries/vio.c
781
size, (vio_cmo.spare + tmp));
arch/powerpc/platforms/pseries/vio.c
782
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
787
tmp = min(size, vio_cmo.excess.free);
arch/powerpc/platforms/pseries/vio.c
788
vio_cmo.excess.free -= tmp;
arch/powerpc/platforms/pseries/vio.c
789
vio_cmo.excess.size -= tmp;
arch/powerpc/platforms/pseries/vio.c
790
vio_cmo.reserve.size += tmp;
arch/powerpc/platforms/pseries/vio.c
793
vio_cmo.spare -= size - tmp;
arch/powerpc/platforms/pseries/vio.c
796
vio_cmo.min += size;
arch/powerpc/platforms/pseries/vio.c
797
vio_cmo.desired += viodev->cmo.desired;
arch/powerpc/platforms/pseries/vio.c
799
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
819
spin_lock_irqsave(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
831
list_for_each_entry(dev_ent, &vio_cmo.device_list, list)
arch/powerpc/platforms/pseries/vio.c
849
vio_cmo.desired -= (viodev->cmo.desired - VIO_CMO_MIN_ENT);
arch/powerpc/platforms/pseries/vio.c
859
if (viodev->cmo.entitled && (vio_cmo.spare < VIO_CMO_MIN_ENT)) {
arch/powerpc/platforms/pseries/vio.c
861
vio_cmo.spare));
arch/powerpc/platforms/pseries/vio.c
862
vio_cmo.spare += tmp;
arch/powerpc/platforms/pseries/vio.c
867
vio_cmo.excess.size += viodev->cmo.entitled;
arch/powerpc/platforms/pseries/vio.c
868
vio_cmo.excess.free += viodev->cmo.entitled;
arch/powerpc/platforms/pseries/vio.c
869
vio_cmo.reserve.size -= viodev->cmo.entitled;
arch/powerpc/platforms/pseries/vio.c
881
spin_unlock_irqrestore(&vio_cmo.lock, flags);
arch/powerpc/platforms/pseries/vio.c
901
memset(&vio_cmo, 0, sizeof(struct vio_cmo));
arch/powerpc/platforms/pseries/vio.c
902
spin_lock_init(&vio_cmo.lock);
arch/powerpc/platforms/pseries/vio.c
903
INIT_LIST_HEAD(&vio_cmo.device_list);
arch/powerpc/platforms/pseries/vio.c
904
INIT_DELAYED_WORK(&vio_cmo.balance_q, vio_cmo_balance);
arch/powerpc/platforms/pseries/vio.c
916
vio_cmo.entitled = 0;
arch/powerpc/platforms/pseries/vio.c
918
vio_cmo.entitled = mpp_data.entitled_mem;
arch/powerpc/platforms/pseries/vio.c
922
vio_cmo.spare = VIO_CMO_MIN_ENT;
arch/powerpc/platforms/pseries/vio.c
923
vio_cmo.reserve.size = vio_cmo.spare;
arch/powerpc/platforms/pseries/vio.c
924
vio_cmo.reserve.size += (vio_cmo_num_OF_devs() *
arch/powerpc/platforms/pseries/vio.c
926
if (vio_cmo.reserve.size > vio_cmo.entitled) {
arch/powerpc/platforms/pseries/vio.c
933
vio_cmo.excess.size = vio_cmo.entitled - vio_cmo.reserve.size;
arch/powerpc/platforms/pseries/vio.c
934
vio_cmo.excess.free = vio_cmo.excess.size;
arch/powerpc/platforms/pseries/vio.c
935
vio_cmo.min = vio_cmo.reserve.size;
arch/powerpc/platforms/pseries/vio.c
936
vio_cmo.desired = vio_cmo.reserve.size;