Thread (44 messages) 44 messages, 8 authors, 2018-06-07

Re: [PATCH 5/7] sched: loadavg: make calc_load_n() public

From: Johannes Weiner <hannes@cmpxchg.org>
Date: 2018-05-10 13:44:49
Also in: linux-mm, lkml

On Wed, May 09, 2018 at 11:49:06AM +0200, Peter Zijlstra wrote:
On Mon, May 07, 2018 at 05:01:33PM -0400, Johannes Weiner wrote:
quoted
+static inline unsigned long
+fixed_power_int(unsigned long x, unsigned int frac_bits, unsigned int n)
+{
+	unsigned long result = 1UL << frac_bits;
+
+	if (n) {
+		for (;;) {
+			if (n & 1) {
+				result *= x;
+				result += 1UL << (frac_bits - 1);
+				result >>= frac_bits;
+			}
+			n >>= 1;
+			if (!n)
+				break;
+			x *= x;
+			x += 1UL << (frac_bits - 1);
+			x >>= frac_bits;
+		}
+	}
+
+	return result;
+}
No real objection; but that does look a wee bit fat for an inline I
suppose.
Fair enough, I'll put these back where I found them and make
calc_load_n() extern instead.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help