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
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.