Received: by 10.213.65.68 with SMTP id h4csp3451881imn; Tue, 3 Apr 2018 05:19:35 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+wl3pC/exOKZ0rFV0TgS8vTczxO7t1Ss3o6qmdyouhOwZTP0k97K2r/WFG8iuYYDhv8WEm X-Received: by 10.99.96.84 with SMTP id u81mr9006106pgb.231.1522757975452; Tue, 03 Apr 2018 05:19:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522757975; cv=none; d=google.com; s=arc-20160816; b=kUZHEuWJ4tiDOFnzHyQ5kj/Rr5OODOnwTtBj4oiHGuntdg8PLUBx4yAFWvxZJwq6Sh n4cRbdt7uarrWFfv8Z7KKooX0HijaJvjHDU9e5xQBWoX+d2Krs3QtpZ970XQ/8nEC9oz ykoXzWhY1yHEoMbFN/6W/5nX+acE/FmCaDvkyi5i6tcmTXcHcJsNitlMdYgFbBguDJz4 2/TKxWxOlX4oBEhN2dZgxlB9yBDjHT6qAouT3etjiAa/sxFKNMKB02HXEZAyprww9P5+ aIbiiK76H2Crgz/j98r5Ay5tulW0qN3Z+Sv7luhRrbUAX2snlU9FlfbysM1ay5hVEzYN gR7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=2zFLdjHaypfBFsyx+tedGJrq/hQiMfVWzAxuEC01r+0=; b=PSBPc4jVtYmIjvJG01KwjnKRfL1IUptilbYVUdtWV4EAnRhXcSCS/n8v6i/0103Vqx NyY0QlOesgu5PL9cQIWrNv119jwSbXZ4o3QwFRnOIM+0FZF8PKW6SA+QMCTl+0B51InV nKv+GoY2vTmKD/tOlJqInBD+kH3Wej85TCp7lbcwG/79hOGrE/3bkyIpkgRkwd6jwZfm ShTpy+B7VKLY5Q0e7tW5wM36MOy12L8da+5vLVimm9okyom+fiDkESzo0jZ9wjnBXi+a LK7OjtJsp8nDAbpVFvxOqydpVeqj6E7vCG4HICzQhWSTj8hFsvcyKYpp1co1XGpreM7Z Xk2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZzYPtM6+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t6si2092490pfb.98.2018.04.03.05.19.21; Tue, 03 Apr 2018 05:19:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZzYPtM6+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755496AbeDCMSL (ORCPT + 99 others); Tue, 3 Apr 2018 08:18:11 -0400 Received: from mail-io0-f173.google.com ([209.85.223.173]:39210 "EHLO mail-io0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755300AbeDCMSJ (ORCPT ); Tue, 3 Apr 2018 08:18:09 -0400 Received: by mail-io0-f173.google.com with SMTP id v13so21752328iob.6 for ; Tue, 03 Apr 2018 05:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2zFLdjHaypfBFsyx+tedGJrq/hQiMfVWzAxuEC01r+0=; b=ZzYPtM6+B/TZi3mG+tOaP/1Ulg4PzvtxRD1ldgrGnrNEjeCH1n08SQksJTgMVLLONM UzmlOzml8UJaTJXH5oWk4SWTekYbFMrjURMrAxr4hKHBe3+h9k78fvk3XSl+jM47C+b7 CP0Ti4hDO8KoxlveD/BCHGc9XYuOUW4s7Otsk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=2zFLdjHaypfBFsyx+tedGJrq/hQiMfVWzAxuEC01r+0=; b=oFygnoRx7GrABNiV/665pWcU/cuBhAQFI4rlDR13KOeZqkpOe11doMuX8ycapU9Ayi BrFxdtzuam15od6616ym62RxANhnT8iX04OxtQsOwKWA2UBHncNMvncBllu2RHUFoPo0 wNBHGsn3PwU31E2E5zuJRWiW5E95ABeXrZE8tG7cWoB6YEBZwYU56V/RUNxqa5vr4dBd I8a5PqTFXXydqxxbSH7qPNeACOB1ElBvY9cc3i4YjnojtaNsACd5aKXPXxlkrtRjM9Zw m2uwl/JkOEdtwbz12K3EIbU91u7Gz/MtQnvYW+Up1sBaVeVqjhLPMZs1mC0QgrXZnJNt 1x9w== X-Gm-Message-State: ALQs6tCb1X6BIcnA9RtZczfQxdYt18lMC66AejL52FztOnQGRI6GveV1 yIbM1ZDNsfmDmof702sN8qo480WB3lbuLY5Q2VoA3g== X-Received: by 10.107.178.14 with SMTP id b14mr11640483iof.294.1522757889111; Tue, 03 Apr 2018 05:18:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.222.20 with HTTP; Tue, 3 Apr 2018 05:17:48 -0700 (PDT) In-Reply-To: <74865492-d9a6-649d-d37c-a5a6a8c28f23@arm.com> References: <1522223215-23524-1-git-send-email-vincent.guittot@linaro.org> <20180329125324.GR4589@e105550-lin.cambridge.arm.com> <74865492-d9a6-649d-d37c-a5a6a8c28f23@arm.com> From: Vincent Guittot Date: Tue, 3 Apr 2018 14:17:48 +0200 Message-ID: Subject: Re: [PATCH] sched: support dynamiQ cluster To: Valentin Schneider Cc: Morten Rasmussen , Catalin Marinas , Will Deacon , LAK , linux-kernel , Peter Zijlstra , Dietmar Eggemann , Chris Redpath Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Valentin, On 3 April 2018 at 00:27, Valentin Schneider wrote: > Hi, > > On 30/03/18 13:34, Vincent Guittot wrote: >> Hi Morten, >> > [..] >>> >>> As I see it, the main differences is that ASYM_PACKING attempts to pack >>> all tasks regardless of task utilization on the higher capacity cpus >>> whereas the "misfit task" series carefully picks cpus with tasks they >>> can't handle so we don't risk migrating tasks which are perfectly >> >> That's one main difference because misfit task will let middle range >> load task on little CPUs which will not provide maximum performance. >> I have put an example below >> >>> suitable to for a little cpu to a big cpu unnecessarily. Also it is >>> based directly on utilization and cpu capacity like the capacity >>> awareness we already have to deal with big.LITTLE in the wake-up path. > > I think that bit is quite important. AFAICT, ASYM_PACKING disregards > task utilization, it only makes sure that (with your patch) tasks will be > migrated to big CPUS if those ever go idle (pulls at NEWLY_IDLE balance or > later on during nohz balance). I didn't see anything related to ASYM_PACKING > in the wake path. > >>> Have to tried taking the misfit patches for a spin on your setup? I >>> expect them give you the same behaviour as you report above. >> >> So I have tried both your tests and mine on both patchset and they >> provide same results which is somewhat expected as the benches are run >> for several seconds. >> In other to highlight the main difference between misfit task and >> ASYM_PACKING, I have reused your test and reduced the number of >> max-request for sysbench so that the test duration was in the range of >> hundreds ms. >> >> Hikey960 (emulate dynamiq topology) >> min avg(stdev) max >> misfit 0.097500 0.114911(+- 10%) 0.138500 >> asym 0.092500 0.106072(+- 6%) 0.122900 >> >> In this case, we can see that ASYM_PACKING is doing better( 8%) >> because it migrates sysbench threads on big core as soon as they are >> available whereas misfit task has to wait for the utilization to >> increase above the 80% which takes around 70ms when starting with an >> utilization that is null >> > > I believe ASYM_PACKING behaves better here because the workload is only > sysbench threads. As stated above, since task utilization is disregarded, I It behaves better because it doesn't wait for the task's utilization to reach a level before assuming the task needs high compute capacity. The utilization gives an idea of the running time of the task not the performance level that is needed > think we could have a scenario where the big CPUs are filled with "small" > tasks and the LITTLE CPUs hold a few "big" tasks - because what mostly > matters here is the order in which the tasks spawn, not their utilization - > which is potentially broken. > > There's that bit in *update_sd_pick_busiest()*: > > /* No ASYM_PACKING if target CPU is already busy */ > if (env->idle == CPU_NOT_IDLE) > return true; > > So I'm not entirely sure how realistic that scenario is, but I suppose it > could still happen. Food for thought in any case. > > Regards, > Valentin