Lines Matching refs:vmpr
75 static struct vmpressure *vmpressure_parent(struct vmpressure *vmpr)
77 struct cgroup_subsys_state *css = vmpressure_to_css(vmpr);
158 static bool vmpressure_event(struct vmpressure *vmpr,
165 mutex_lock(&vmpr->events_lock);
166 list_for_each_entry(ev, &vmpr->events, node) {
176 mutex_unlock(&vmpr->events_lock);
183 struct vmpressure *vmpr = work_to_vmpressure(work);
190 spin_lock(&vmpr->sr_lock);
197 * vmpr->reclaimed is in sync.
199 scanned = vmpr->tree_scanned;
201 spin_unlock(&vmpr->sr_lock);
205 reclaimed = vmpr->tree_reclaimed;
206 vmpr->tree_scanned = 0;
207 vmpr->tree_reclaimed = 0;
208 spin_unlock(&vmpr->sr_lock);
213 if (vmpressure_event(vmpr, level, ancestor, signalled))
216 } while ((vmpr = vmpressure_parent(vmpr)));
243 struct vmpressure *vmpr = memcg_to_vmpressure(memcg);
271 spin_lock(&vmpr->sr_lock);
272 scanned = vmpr->tree_scanned += scanned;
273 vmpr->tree_reclaimed += reclaimed;
274 spin_unlock(&vmpr->sr_lock);
278 schedule_work(&vmpr->work);
286 spin_lock(&vmpr->sr_lock);
287 scanned = vmpr->scanned += scanned;
288 reclaimed = vmpr->reclaimed += reclaimed;
290 spin_unlock(&vmpr->sr_lock);
293 vmpr->scanned = vmpr->reclaimed = 0;
294 spin_unlock(&vmpr->sr_lock);
365 struct vmpressure *vmpr = memcg_to_vmpressure(memcg);
403 mutex_lock(&vmpr->events_lock);
404 list_add(&ev->node, &vmpr->events);
405 mutex_unlock(&vmpr->events_lock);
426 struct vmpressure *vmpr = memcg_to_vmpressure(memcg);
429 mutex_lock(&vmpr->events_lock);
430 list_for_each_entry(ev, &vmpr->events, node) {
437 mutex_unlock(&vmpr->events_lock);
442 * @vmpr: Structure to be initialized
447 void vmpressure_init(struct vmpressure *vmpr)
449 spin_lock_init(&vmpr->sr_lock);
450 mutex_init(&vmpr->events_lock);
451 INIT_LIST_HEAD(&vmpr->events);
452 INIT_WORK(&vmpr->work, vmpressure_work_fn);
457 * @vmpr: Structure to be cleaned up
462 void vmpressure_cleanup(struct vmpressure *vmpr)
468 flush_work(&vmpr->work);