From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752096AbcFVU7O (ORCPT ); Wed, 22 Jun 2016 16:59:14 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:39957 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751059AbcFVU7N (ORCPT ); Wed, 22 Jun 2016 16:59:13 -0400 Date: Wed, 22 Jun 2016 22:59:11 +0200 From: Peter Zijlstra To: Jirka Hladky Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Kamil Kolakowski Subject: Re: Kernel 4.7rc3 - Performance drop 30-40% for SPECjbb2005 and SPECjvm2008 benchmarks against 4.6 kernel Message-ID: <20160622205911.GW30909@twins.programming.kicks-ass.net> References: <20160616172256.GJ30921@twins.programming.kicks-ass.net> <20160622071601.GX30154@twins.programming.kicks-ass.net> <20160622074941.GV30927@twins.programming.kicks-ass.net> <20160622075445.GW30927@twins.programming.kicks-ass.net> <20160622111246.GE30154@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 22, 2016 at 04:41:06PM +0200, Jirka Hladky wrote: > This commit is bad: > 2159197 - Peter Zijlstra, 8 weeks ago : sched/core: Enable increased > load resolution on 64-bit kernels > > Could you please have a look? Yes, that is indeed the culprit. The below 'revert' makes it go fast again. I'll try and figure out what's wrong tomorrow. --- diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index bf6fea9..e7e312b 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -55,7 +55,7 @@ static inline void cpu_load_update_active(struct rq *this_rq) { } * Really only required when CONFIG_FAIR_GROUP_SCHED is also set, but to * increase coverage and consistency always enable it on 64bit platforms. */ -#ifdef CONFIG_64BIT +#if 0 // def CONFIG_64BIT # define NICE_0_LOAD_SHIFT (SCHED_FIXEDPOINT_SHIFT + SCHED_FIXEDPOINT_SHIFT) # define scale_load(w) ((w) << SCHED_FIXEDPOINT_SHIFT) # define scale_load_down(w) ((w) >> SCHED_FIXEDPOINT_SHIFT)