Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753949AbbFAWQC (ORCPT ); Mon, 1 Jun 2015 18:16:02 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41815 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751874AbbFAWPy (ORCPT ); Mon, 1 Jun 2015 18:15:54 -0400 Message-ID: <556CD993.3060909@redhat.com> Date: Mon, 01 Jun 2015 18:15:47 -0400 From: Rik van Riel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Josef Bacik , Peter Zijlstra CC: mingo@redhat.com, linux-kernel@vger.kernel.org, umgwanakikbuti@gmail.com, morten.rasmussen@arm.com, kernel-team Subject: Re: [PATCH RESEND] sched: prefer an idle cpu vs an idle sibling for BALANCE_WAKE References: <1432761736-22093-1-git-send-email-jbacik@fb.com> <20150528102127.GD3644@twins.programming.kicks-ass.net> <20150528110514.GR18673@twins.programming.kicks-ass.net> <5568D43D.20703@fb.com> <556CB4A8.1050509@fb.com> In-Reply-To: <556CB4A8.1050509@fb.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1357 Lines: 44 On 06/01/2015 03:38 PM, Josef Bacik wrote: > Ok I got this patch to give me the same performance as all our other > crap, just need to apply this incremental > > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index b71eb2b..e11cfec 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -4761,13 +4761,10 @@ select_task_rq_fair(struct task_struct *p, int > prev_cpu, int sd_flag, int wake_f > > if (tmp->flags & sd_flag) > sd = tmp; > - else if (!want_affine || (want_affine && affine_sd)) > - break; > } > > if (affine_sd && cpu != prev_cpu && wake_affine(affine_sd, p, sync)) { > prev_cpu = cpu; > - sd = NULL; /* WAKE_AFFINE trumps BALANCE_WAKE */ Given Peter's worries about wake_affine and affine_sd, should the above be sd = affine_sd, in case select_idle_sibling cannot find an idle sibling? That way we can attempt to at least find an idle cpu inside the affine_sd. Of course, there may be subtleties here I am overlooking... > } > > if (sd_flag & SD_BALANCE_WAKE) { -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/