Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp783321yba; Wed, 15 May 2019 09:51:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqw3BGfvYnUW/LZdRItMUrcy9ap3f8In3PEXVeTc/t+tcuhXuRNbek2ppT6bOwigkPKWcUKL X-Received: by 2002:a65:478a:: with SMTP id e10mr45253915pgs.310.1557939078670; Wed, 15 May 2019 09:51:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557939078; cv=none; d=google.com; s=arc-20160816; b=QbeZk+OexlpjYpvwd+q7KIy40CCL9SKCpW+uOVoulBjnQMypJ/P/o0uZUTiTFOuSi0 Q9HcLql8ceoIyKJLgcPocP+mIwE3YSrr1xr9va2XEf+h9VbjI61AyRH2j3IozptQjz/N QNlsocVzxXY+D4BO96zALDjLLJAnVYBuBZn119etR7GQsGnIeoPED/oxApB3DcRhscTk EMaDIB7OkN/xdFZtS+kKOKukudHC0EqpPhhcyufMoXs2eRGnl0mSrS6CyqiBQdhbeMBm XxFZ9AloseAZ0z1Yd5BDIL9kZcP1FapvdEak6qc2Ihhl3UbiGfRmg31m2duxiPZaNdq9 rMNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=I9b5O3t91nRnKaPiDj7b09CmwJCZOHCIeDVo1tkyaEo=; b=Ka+mIE4TJ81vILW7WRX5hSrXxQIeI5mNMnrXdyTAxR0NlqiRqmUeMq9MP6j2g5h4ZL KRGM6WXhbOo3YHwtS6+3tbru6Lxkf19uGqVKf/zjnTgbhdlNybb17jxr1wUgXGFap70i 0n+OnN9u70C67Hr8Ntiyu8AgeEgYzy/GtcQQemGOicWcFyDh/S946XPlpT2umbmGxxm7 pXbuAYT3BSTFnuLLCozBXsnPksDBhS+9X79JoUVj2qizUC7grQuMATFUOWlOFRgl67pR 6p8Ha4ryvQbz1z/fs3ZxBW7Bw3L06/7FRbQ9y+m4GYd+eq8n7KdR51ZWRfLRxGfVayyN wuCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=merlin.20170209 header.b=1Ibci09C; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bg2si2167961plb.117.2019.05.15.09.51.03; Wed, 15 May 2019 09:51:18 -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=fail header.i=@infradead.org header.s=merlin.20170209 header.b=1Ibci09C; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727526AbfEOQtA (ORCPT + 99 others); Wed, 15 May 2019 12:49:00 -0400 Received: from merlin.infradead.org ([205.233.59.134]:49054 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726515AbfEOQs7 (ORCPT ); Wed, 15 May 2019 12:48:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=I9b5O3t91nRnKaPiDj7b09CmwJCZOHCIeDVo1tkyaEo=; b=1Ibci09C5bcghosVjzuvVBDlG uCiEvLMMdMwm19qEU87UcA5ETmfXSmdQU9/qMHOPBEchMzKzp7us1sQxEVhRU9rJ1K22g1YX8ZHB+ aD8ba824YUYhvv8drTyFlQ701ImDmOxTkzMH7y6Xzv5rpLvn+QP2Wnvslk6w83ZDiXK7BoKI4p0HU 48ow/7uTwcej0kp/NvwoR/N0Ti9SFTRT4bjX+qdmaQ7SE34U97t+Rt/YohTwxW/p0h04kyxaFzwQ6 YL4xb/4NaUad88A8H6OwN6VUfrC4izIXrtBUQC9OycRai105dT3W7jBZiUE7/tSjE91G4RMD2MUBy 8nE25lhYw==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=hirez.programming.kicks-ass.net) by merlin.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1hQx5L-0001Q9-UF; Wed, 15 May 2019 16:48:56 +0000 Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id B35712029906B; Wed, 15 May 2019 18:48:54 +0200 (CEST) Date: Wed, 15 May 2019 18:48:54 +0200 From: Peter Zijlstra To: Parth Shah Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, mingo@redhat.com, dietmar.eggemann@arm.com, dsmythies@telus.net Subject: Re: [RFCv2 0/6] TurboSched: A scheduler for sustaining Turbo Frequencies for longer durations Message-ID: <20190515164854.GZ2589@hirez.programming.kicks-ass.net> References: <20190515135322.19393-1-parth@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190515135322.19393-1-parth@linux.ibm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 15, 2019 at 07:23:16PM +0530, Parth Shah wrote: > Abstract > ======== > > The modern servers allows multiple cores to run at range of > frequencies higher than rated range of frequencies. But the power budget > of the system inhibits sustaining these higher frequencies for > longer durations. > > However when certain cores are put to idle states, the power can be > effectively channelled to other busy cores, allowing them to sustain > the higher frequency. > > One way to achieve this is to pack tasks onto fewer cores keeping others idle, > but it may lead to performance penalty for such tasks and sustaining higher > frequencies proves to be of no benefit. But if one can identify unimportant low > utilization tasks which can be packed on the already active cores then waking up > of new cores can be avoided. Such tasks are short and/or bursty "jitter tasks" > and waking up new core is expensive for such case. > > Current CFS algorithm in kernel scheduler is performance oriented and hence > tries to assign any idle CPU first for the waking up of new tasks. This policy > is perfect for major categories of the workload, but for jitter tasks, one > can save energy by packing it onto active cores and allow other cores to run at > higher frequencies. > > These patch-set tunes the task wake up logic in scheduler to pack exclusively > classified jitter tasks onto busy cores. The work involves the use of additional > attributes inside "cpu" cgroup controller to manually classify tasks as jitter. Why does this make sense? Don't these higher freq bins burn power like stupid? That is, it makes sense to use turbo-bins for single threaded workloads that are CPU-bound and need performance. But why pack a bunch of 'crap' tasks onto a core and give it turbo; that's just burning power without getting anything back for it.