diff options
Diffstat (limited to 'kernel/res_counter.c')
-rw-r--r-- | kernel/res_counter.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/kernel/res_counter.c b/kernel/res_counter.c index 4aa8a305aede..51dbac6a3633 100644 --- a/kernel/res_counter.c +++ b/kernel/res_counter.c | |||
@@ -22,8 +22,18 @@ void res_counter_init(struct res_counter *counter, struct res_counter *parent) | |||
22 | counter->parent = parent; | 22 | counter->parent = parent; |
23 | } | 23 | } |
24 | 24 | ||
25 | int res_counter_charge_locked(struct res_counter *counter, unsigned long val, | 25 | static u64 res_counter_uncharge_locked(struct res_counter *counter, |
26 | bool force) | 26 | unsigned long val) |
27 | { | ||
28 | if (WARN_ON(counter->usage < val)) | ||
29 | val = counter->usage; | ||
30 | |||
31 | counter->usage -= val; | ||
32 | return counter->usage; | ||
33 | } | ||
34 | |||
35 | static int res_counter_charge_locked(struct res_counter *counter, | ||
36 | unsigned long val, bool force) | ||
27 | { | 37 | { |
28 | int ret = 0; | 38 | int ret = 0; |
29 | 39 | ||
@@ -86,15 +96,6 @@ int res_counter_charge_nofail(struct res_counter *counter, unsigned long val, | |||
86 | return __res_counter_charge(counter, val, limit_fail_at, true); | 96 | return __res_counter_charge(counter, val, limit_fail_at, true); |
87 | } | 97 | } |
88 | 98 | ||
89 | u64 res_counter_uncharge_locked(struct res_counter *counter, unsigned long val) | ||
90 | { | ||
91 | if (WARN_ON(counter->usage < val)) | ||
92 | val = counter->usage; | ||
93 | |||
94 | counter->usage -= val; | ||
95 | return counter->usage; | ||
96 | } | ||
97 | |||
98 | u64 res_counter_uncharge_until(struct res_counter *counter, | 99 | u64 res_counter_uncharge_until(struct res_counter *counter, |
99 | struct res_counter *top, | 100 | struct res_counter *top, |
100 | unsigned long val) | 101 | unsigned long val) |