Lines Matching refs:vmpr

1535 static struct vmpressure *vmpressure_parent(struct vmpressure *vmpr)  in vmpressure_parent()  argument
1537 struct mem_cgroup *memcg = vmpressure_to_memcg(vmpr); in vmpressure_parent()
1545 static bool vmpressure_event(struct vmpressure *vmpr, in vmpressure_event() argument
1552 mutex_lock(&vmpr->events_lock); in vmpressure_event()
1553 list_for_each_entry(ev, &vmpr->events, node) { in vmpressure_event()
1563 mutex_unlock(&vmpr->events_lock); in vmpressure_event()
1570 struct vmpressure *vmpr = work_to_vmpressure(work); in vmpressure_work_fn() local
1577 spin_lock(&vmpr->sr_lock); in vmpressure_work_fn()
1586 scanned = vmpr->tree_scanned; in vmpressure_work_fn()
1588 spin_unlock(&vmpr->sr_lock); in vmpressure_work_fn()
1592 reclaimed = vmpr->tree_reclaimed; in vmpressure_work_fn()
1593 vmpr->tree_scanned = 0; in vmpressure_work_fn()
1594 vmpr->tree_reclaimed = 0; in vmpressure_work_fn()
1595 spin_unlock(&vmpr->sr_lock); in vmpressure_work_fn()
1600 if (vmpressure_event(vmpr, level, ancestor, signalled)) in vmpressure_work_fn()
1603 } while ((vmpr = vmpressure_parent(vmpr))); in vmpressure_work_fn()
1611 void vmpressure_v1_account_tree(struct vmpressure *vmpr, in vmpressure_v1_account_tree() argument
1615 spin_lock(&vmpr->sr_lock); in vmpressure_v1_account_tree()
1616 scanned = vmpr->tree_scanned += scanned; in vmpressure_v1_account_tree()
1617 vmpr->tree_reclaimed += reclaimed; in vmpressure_v1_account_tree()
1618 spin_unlock(&vmpr->sr_lock); in vmpressure_v1_account_tree()
1622 schedule_work(&vmpr->work); in vmpressure_v1_account_tree()
1625 void vmpressure_v1_init(struct vmpressure *vmpr) in vmpressure_v1_init() argument
1627 mutex_init(&vmpr->events_lock); in vmpressure_v1_init()
1628 INIT_LIST_HEAD(&vmpr->events); in vmpressure_v1_init()
1629 INIT_WORK(&vmpr->work, vmpressure_work_fn); in vmpressure_v1_init()
1632 void vmpressure_v1_cleanup(struct vmpressure *vmpr) in vmpressure_v1_cleanup() argument
1638 flush_work(&vmpr->work); in vmpressure_v1_cleanup()
1694 struct vmpressure *vmpr = memcg_to_vmpressure(memcg); in vmpressure_register_event() local
1732 mutex_lock(&vmpr->events_lock); in vmpressure_register_event()
1733 list_add(&ev->node, &vmpr->events); in vmpressure_register_event()
1734 mutex_unlock(&vmpr->events_lock); in vmpressure_register_event()
1755 struct vmpressure *vmpr = memcg_to_vmpressure(memcg); in vmpressure_unregister_event() local
1758 mutex_lock(&vmpr->events_lock); in vmpressure_unregister_event()
1759 list_for_each_entry(ev, &vmpr->events, node) { in vmpressure_unregister_event()
1766 mutex_unlock(&vmpr->events_lock); in vmpressure_unregister_event()