Lines Matching refs:counter
55 void page_counter_cancel(struct page_counter *counter, unsigned long nr_pages) in page_counter_cancel() argument
59 new = atomic_long_sub_return(nr_pages, &counter->usage); in page_counter_cancel()
60 propagate_protected_usage(counter, new); in page_counter_cancel()
72 void page_counter_charge(struct page_counter *counter, unsigned long nr_pages) in page_counter_charge() argument
76 for (c = counter; c; c = c->parent) { in page_counter_charge()
80 propagate_protected_usage(counter, new); in page_counter_charge()
99 bool page_counter_try_charge(struct page_counter *counter, in page_counter_try_charge() argument
105 for (c = counter; c; c = c->parent) { in page_counter_try_charge()
124 propagate_protected_usage(counter, new); in page_counter_try_charge()
133 propagate_protected_usage(counter, new); in page_counter_try_charge()
144 for (c = counter; c != *fail; c = c->parent) in page_counter_try_charge()
155 void page_counter_uncharge(struct page_counter *counter, unsigned long nr_pages) in page_counter_uncharge() argument
159 for (c = counter; c; c = c->parent) in page_counter_uncharge()
173 int page_counter_set_max(struct page_counter *counter, unsigned long nr_pages) in page_counter_set_max() argument
190 usage = atomic_long_read(&counter->usage); in page_counter_set_max()
195 old = xchg(&counter->max, nr_pages); in page_counter_set_max()
197 if (atomic_long_read(&counter->usage) <= usage) in page_counter_set_max()
200 counter->max = old; in page_counter_set_max()
212 void page_counter_set_min(struct page_counter *counter, unsigned long nr_pages) in page_counter_set_min() argument
216 counter->min = nr_pages; in page_counter_set_min()
218 for (c = counter; c; c = c->parent) in page_counter_set_min()
229 void page_counter_set_low(struct page_counter *counter, unsigned long nr_pages) in page_counter_set_low() argument
233 counter->low = nr_pages; in page_counter_set_low()
235 for (c = counter; c; c = c->parent) in page_counter_set_low()