diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-02-15 16:26:41 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-02-15 16:26:41 +0900 |
commit | d60cf53a30956e47919788b2ef49287786a959c9 (patch) | |
tree | cb518d7cc4813f4b54a3fd5fcaad43e6d82be6a3 /include/linux/res_counter.h | |
parent | 0ce08870b8a4895044b6cf2bbdc774a6faaa3656 (diff) | |
parent | 13c12a4e8ecdf3998cd2d89ade69f6f194819c95 (diff) |
Merge branch 'sh/st-integration' into sh/urgent
Diffstat (limited to 'include/linux/res_counter.h')
-rw-r--r-- | include/linux/res_counter.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/res_counter.h b/include/linux/res_counter.h index fcb9884df618..a5930cb66145 100644 --- a/include/linux/res_counter.h +++ b/include/linux/res_counter.h @@ -182,6 +182,26 @@ static inline bool res_counter_check_under_limit(struct res_counter *cnt) return ret; } +/** + * res_counter_check_margin - check if the counter allows charging + * @cnt: the resource counter to check + * @bytes: the number of bytes to check the remaining space against + * + * Returns a boolean value on whether the counter can be charged + * @bytes or whether this would exceed the limit. + */ +static inline bool res_counter_check_margin(struct res_counter *cnt, + unsigned long bytes) +{ + bool ret; + unsigned long flags; + + spin_lock_irqsave(&cnt->lock, flags); + ret = cnt->limit - cnt->usage >= bytes; + spin_unlock_irqrestore(&cnt->lock, flags); + return ret; +} + static inline bool res_counter_check_under_soft_limit(struct res_counter *cnt) { bool ret; |