Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1224568

[RFC][PATCH 4/5] percpu: Fix abs() usage in percpu_counter_compare()

From John Stultz <john.stultz@linaro.org>
Newsgroups linux.kernel
Subject [RFC][PATCH 4/5] percpu: Fix abs() usage in percpu_counter_compare()
Date 2015-09-15 03:10 +0200
Message-ID <q8MUV-6nq-11@gated-at.bofh.it> (permalink)
References <q8MUV-6nq-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


s64 values should not be used with abs(), as is one
in __percpu_counter_compare(), since it may cap the
result to 32-bits.

This patch modifies __percpu_counter_compare() to
use abs64() instead.

Cc: Dave Chinner <dchinner@redhat.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
 lib/percpu_counter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c
index f051d69..3d1aba9 100644
--- a/lib/percpu_counter.c
+++ b/lib/percpu_counter.c
@@ -203,7 +203,7 @@ int __percpu_counter_compare(struct percpu_counter *fbc, s64 rhs, s32 batch)
 
 	count = percpu_counter_read(fbc);
 	/* Check to see if rough count will be sufficient for comparison */
-	if (abs(count - rhs) > (batch * num_online_cpus())) {
+	if (abs64(count - rhs) > (batch * num_online_cpus())) {
 		if (count > rhs)
 			return 1;
 		else
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[RFC][PATCH 4/5] percpu: Fix abs() usage in percpu_counter_compare() John Stultz <john.stultz@linaro.org> - 2015-09-15 03:10 +0200

csiph-web