summaryrefslogtreecommitdiffstats
path: root/include/linux/percpu_counter.h
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2011-05-24 17:13:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-25 08:39:54 -0700
commitc84598bbfa756b7d042da31aa4e198ae866a6c7d (patch)
tree9287d1dcfd313193b944f3dc49a6519a40a7ee4f /include/linux/percpu_counter.h
parent3c8f370ded3483b27f1218ff0051fcf0c7a2facd (diff)
downloadlinux-stable-c84598bbfa756b7d042da31aa4e198ae866a6c7d.tar.gz
linux-stable-c84598bbfa756b7d042da31aa4e198ae866a6c7d.tar.bz2
linux-stable-c84598bbfa756b7d042da31aa4e198ae866a6c7d.zip
percpu_counter: change return value and add comments
The percpu_counter_*_positive() API in UP case doesn't check if return value is positive. Add comments to explain why we don't. Also if count < 0, returns 0 instead of 1 for *read_positive(). [akpm@linux-foundation.org: tweak comment] Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/percpu_counter.h')
-rw-r--r--include/linux/percpu_counter.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h
index 46f6ba56fa91..5edc9014263a 100644
--- a/include/linux/percpu_counter.h
+++ b/include/linux/percpu_counter.h
@@ -75,7 +75,7 @@ static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc)
barrier(); /* Prevent reloads of fbc->count */
if (ret >= 0)
return ret;
- return 1;
+ return 0;
}
static inline int percpu_counter_initialized(struct percpu_counter *fbc)
@@ -133,6 +133,10 @@ static inline s64 percpu_counter_read(struct percpu_counter *fbc)
return fbc->count;
}
+/*
+ * percpu_counter is intended to track positive numbers. In the UP case the
+ * number should never be negative.
+ */
static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc)
{
return fbc->count;