Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754997AbcCaMPO (ORCPT ); Thu, 31 Mar 2016 08:15:14 -0400 Received: from mail-lb0-f177.google.com ([209.85.217.177]:34545 "EHLO mail-lb0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750762AbcCaMPM (ORCPT ); Thu, 31 Mar 2016 08:15:12 -0400 MIME-Version: 1.0 In-Reply-To: <20160331104705.GG3430@twins.programming.kicks-ass.net> References: <1458606068-7476-1-git-send-email-smuckle@linaro.org> <56F91D56.4020007@arm.com> <56F95D10.4070400@linaro.org> <56F97856.4040804@arm.com> <56F98832.3030207@linaro.org> <20160330193544.GD407@worktop> <20160331093408.GB12845@twins.programming.kicks-ass.net> <20160331104705.GG3430@twins.programming.kicks-ass.net> From: Vincent Guittot Date: Thu, 31 Mar 2016 14:14:50 +0200 Message-ID: Subject: Re: [PATCH 1/2] sched/fair: move cpufreq hook to update_cfs_rq_load_avg() To: Peter Zijlstra Cc: Steve Muckle , Dietmar Eggemann , Ingo Molnar , linux-kernel , "linux-pm@vger.kernel.org" , "Rafael J. Wysocki" , Morten Rasmussen , Juri Lelli , Patrick Bellasi , Michael Turquette Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1032 Lines: 25 On 31 March 2016 at 12:47, Peter Zijlstra wrote: > On Thu, Mar 31, 2016 at 11:50:40AM +0200, Vincent Guittot wrote: >> > In what case? Assuming you talk about a remove wakeup, no. Only if that >> > wakeup results in a preemption, which isn't a given. >> >> yes, i was speaking about a remote wakeup. >> In the ttwu_queue_remote, there is a call to smp_send_reschedule. Is >> there another way to add a remote task in the wake list ? > > Right, but at that point we don't yet know how much util will change. > > And doing that IPI unconditionally is expensive; see: > > 518cd6234178 ("sched: Only queue remote wakeups when crossing cache boundaries") > > 13% regression on TCP_RR. Ok. In fact, I looks for the sequence where the utilization of a rq is not updated until the next tick but i can't find it. If cpu doesn't share cache, task is added to wake list and an ipi is sent and the utilization. Otherwise, we directly enqueue the task on the rq and the utilization is updated Is there another path ?