Commit c84598bb authored by Shaohua Li's avatar Shaohua Li Committed by Linus Torvalds

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: default avatarShaohua Li <shaohua.li@intel.com>
Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3c8f370d
...@@ -75,7 +75,7 @@ static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc) ...@@ -75,7 +75,7 @@ static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc)
barrier(); /* Prevent reloads of fbc->count */ barrier(); /* Prevent reloads of fbc->count */
if (ret >= 0) if (ret >= 0)
return ret; return ret;
return 1; return 0;
} }
static inline int percpu_counter_initialized(struct percpu_counter *fbc) static inline int percpu_counter_initialized(struct percpu_counter *fbc)
...@@ -133,6 +133,10 @@ static inline s64 percpu_counter_read(struct percpu_counter *fbc) ...@@ -133,6 +133,10 @@ static inline s64 percpu_counter_read(struct percpu_counter *fbc)
return fbc->count; 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) static inline s64 percpu_counter_read_positive(struct percpu_counter *fbc)
{ {
return fbc->count; return fbc->count;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment