From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936232AbcHJSg0 (ORCPT ); Wed, 10 Aug 2016 14:36:26 -0400 Received: from mga09.intel.com ([134.134.136.24]:17619 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933906AbcHJSgW (ORCPT ); Wed, 10 Aug 2016 14:36:22 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,498,1464678000"; d="scan'208";a="1011742182" From: Yuyang Du To: peterz@infradead.org, mingo@kernel.org, linux-kernel@vger.kernel.org Cc: bsegall@google.com, pjt@google.com, morten.rasmussen@arm.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, matt@codeblueprint.co.uk, umgwanakikbuti@gmail.com, Yuyang Du Subject: [PATCH v1 07/10] sched/fair: Remove useless 64-bit to 32-bit variable conversion Date: Wed, 10 Aug 2016 08:14:52 +0800 Message-Id: <1470788095-2125-8-git-send-email-yuyang.du@intel.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1470788095-2125-1-git-send-email-yuyang.du@intel.com> References: <1470788095-2125-1-git-send-email-yuyang.du@intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In __decay_sum(), the 64-bit to 32-bit variable conversion makes no performance nor correctness use. Minor cleanup and no functionality change. Signed-off-by: Yuyang Du --- kernel/sched/fair.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 283e2c2..eea3349 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2616,16 +2616,11 @@ static const u32 __accumulated_sum_N32[] = { */ static __always_inline u64 __decay_sum(u64 val, u64 n) { - unsigned int local_n; - if (!n) return val; else if (unlikely(n > SCHED_AVG_HALFLIFE * 63)) return 0; - /* after bounds checking we can collapse to 32-bit */ - local_n = n; - /* * As y^HALFLIFE = 1/2, we can combine * y^n = 1/2^(n/HALFLIFE) * y^(n%HALFLIFE) @@ -2633,12 +2628,12 @@ static __always_inline u64 __decay_sum(u64 val, u64 n) * * To achieve constant time __decay_load. */ - if (unlikely(local_n >= SCHED_AVG_HALFLIFE)) { - val >>= local_n / SCHED_AVG_HALFLIFE; - local_n %= SCHED_AVG_HALFLIFE; + if (unlikely(n >= SCHED_AVG_HALFLIFE)) { + val >>= n / SCHED_AVG_HALFLIFE; + n %= SCHED_AVG_HALFLIFE; } - val = mul_u64_u32_shr(val, __decay_inv_multiply_N[local_n], 32); + val = mul_u64_u32_shr(val, __decay_inv_multiply_N[n], 32); return val; } -- 1.7.9.5