Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752645AbbKXMAO (ORCPT ); Tue, 24 Nov 2015 07:00:14 -0500 Received: from foss.arm.com ([217.140.101.70]:33372 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751570AbbKXMAM (ORCPT ); Tue, 24 Nov 2015 07:00:12 -0500 Date: Tue, 24 Nov 2015 12:00:07 +0000 From: Javi Merino To: Jacob Pan Cc: Peter Zijlstra , Ingo Molnar , Thomas Gleixner , John Stultz , LKML , Arjan van de Ven , Srinivas Pandruvada , Len Brown , Rafael Wysocki , Eduardo Valentin , Paul Turner , Morten Rasmussen , Juri Lelli Subject: Re: [PATCH 3/4] sched: introduce synchronized idle injection Message-ID: <20151124120006.GB2710@e104805> References: <1447444387-23525-1-git-send-email-jacob.jun.pan@linux.intel.com> <1447444387-23525-4-git-send-email-jacob.jun.pan@linux.intel.com> <20151123175643.GA10703@e104805> <20151123180706.GN17308@twins.programming.kicks-ass.net> <20151124091239.GA2710@e104805> <20151124100956.GR17308@twins.programming.kicks-ass.net> <20151124031059.3198b690@yairi> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20151124031059.3198b690@yairi> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2329 Lines: 55 On Tue, Nov 24, 2015 at 03:10:59AM -0800, Jacob Pan wrote: > On Tue, 24 Nov 2015 11:09:56 +0100 > Peter Zijlstra wrote: > > > On Tue, Nov 24, 2015 at 09:12:40AM +0000, Javi Merino wrote: > > > On Mon, Nov 23, 2015 at 07:07:06PM +0100, Peter Zijlstra wrote: > > > > On Mon, Nov 23, 2015 at 05:56:44PM +0000, Javi Merino wrote: > > > > > I've tested this series on Juno (2xCortex-A57 4xCortex-A53). > > > > > If you idle inject for 50% of the time, when I run 6 busy loops > > > > > the scheduler sometimes keeps two of them in the same cpu while > > > > > the another cpu is completely idle. Without idle injection the > > > > > scheduler does the sensible thing: put one busy loop in each > > > > > CPU. I'm running systemd and this only happens with > > > > > CONFIG_SCHED_AUTOGROUP=y. If I unset CONFIG_SCHED_AUTOGROUP, > > > > > the tasks are spread across all cpus as usual. > > > > > > > > That's not a plus for this patch though; but a bug report against > > > > AUTOGROUP/cgroup muck, right? > > > > > > The bug only happens when you apply this series and you set the > > > system to idle inject 50% of the time. SCHED_AUTOGROUP is already > > > part of the kernel and behaves properly with the kernel as is. I > > > think that this patch should not introduce new bugs. > > > > Ah, then I misunderstood your email, agreed. > First of all, thanks for testing. > Just trying to reproduce this. So let me understand your set up. > - 8 cores in total? - 6 cores in total > - you first set 50% idle > - then launch 6 busy loops Correct > How often you see this happen? About 1 in 10. Sometimes, even though it ends up doing the right thing, it takes some time (>500ms) to move things around. This never happens with idle injection disabled (kernel.sched_cfs_idle_inject_pct = 0). Admittedly, the situation is a lot better than with 4.3. When I first tried this series on top of v4.3-rc6, the scheduler consistently misbehaved with 50% idle injection, leaving up to 4 100% tasks on a cpu while three cpus remain completely idle Cheers, Javi -- 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/