From patchwork Mon Nov 26 11:20:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 151999 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp5537189ljp; Mon, 26 Nov 2018 03:24:54 -0800 (PST) X-Google-Smtp-Source: AFSGD/XgPJJ72vYIHxHCVfrJb66Ae4WOuVaiqxk+CeP+xk9UIoYT9QgJBLxS8NNtvVbbeE1fkXQs X-Received: by 2002:a62:1d8f:: with SMTP id d137mr22483398pfd.11.1543231494721; Mon, 26 Nov 2018 03:24:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543231494; cv=none; d=google.com; s=arc-20160816; b=n7/Ni0qB6lWurKTVAFGpR5XcpxRgZQMZUuw2KDiSeVVdKNrFcyHNCcBhw8z4vtdnpb VkhtAEgy5WDdfd9XL4OhnmsiL+Nae6TssMTrJu431DlJZJoNHrtP9juKdQDVGN/ZvNRd WsRrl17+tBzJzbo5Cc5gGtAC0c1pVPEZ7altp5MvR7okaFYEk0eDtcc/8q82fB39CP1A zTprtPJ3PjCy0YGyhRgiVOvG74FtdDOsjXJM4qcTJfO3+wmkJJ+jVSxf7jT+fgdHLHXS RDRck77pnVQa+2LjydTTOwpKaOWwEUDF7aIB70aK0GyonXE8DgBgrFc74FUJ37m16kHK TkYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lbcHjmRHOZ8i9kgVT+7xnTpXgIMdWRMHmgAhb0nftFY=; b=hAxpzpf4+KJLivfbaZU4PJY5DO+CLqI3ykHfK1gi7XKG6s85epVXJEgaobgCb9T13H sZSSN7OoqjwVzACs38uQVJcGFY/esdvNrKphhipgXnXoUkd7n6XBjRpdwvAXhNQ+nTN2 F/7KlGOni23oUpmobmdwZoi54Cd+jQ/tW3V5sRTn8kA38TO/pUpk2wZmhZdg4v6jSSTG glQS6toI9a1RukdeFGLKeYaOSolPGYovz5Cf2/MbETuwRBmscIuRydQz5K2q45FPjAuj ln+qUDdV0rqNshLJaS55DAxs0KzXrRl8X0Bh9PDc78LAcwYkQePnSNPkfxjCukwY84pC Y9uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IpX7xQhl; 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 g10si47041319pll.428.2018.11.26.03.24.53; Mon, 26 Nov 2018 03:24:54 -0800 (PST) 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=IpX7xQhl; 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 S1728512AbeKZWOx (ORCPT + 32 others); Mon, 26 Nov 2018 17:14:53 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37869 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726199AbeKZWOw (ORCPT ); Mon, 26 Nov 2018 17:14:52 -0500 Received: by mail-pg1-f195.google.com with SMTP id 80so6040899pge.4 for ; Mon, 26 Nov 2018 03:21:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lbcHjmRHOZ8i9kgVT+7xnTpXgIMdWRMHmgAhb0nftFY=; b=IpX7xQhlpIp8uTK0U230tWBYBAOdvdBEUzP0zkOY1808uNdQLJmk5ihomY7FtA6dsC ytyT86CV3StEOPW+Y0G9dt9QMrrJadPSVnEAgiac/NJ7pEp9mISXwyp2HOevlpJ4awoH TbgsNAVd+VCfXcZO8gzShqag+Csc60AKzPGoE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lbcHjmRHOZ8i9kgVT+7xnTpXgIMdWRMHmgAhb0nftFY=; b=csWgrZA+WasVSHW40yyDwr0oDg3F10TwSERFGjdTfAkZR006BvievtGgSsVCwDYEDI 7s/6qV6B++ZutxUIWQqGXs/BklIhzw4+kq7uMN6zDuyugYDv8DMFnY1BtZiAvoNuf90i WMw7JyCpTySwh7e1/xTwLge2B2SRet9HMG6OadMfm+8neTooeniwhOD5J99usXC/Nw5d STcKfLq1MhJX+XgKUDEGiQS5+cYvLUbp6YgfVZK/umSh7vN3BIcCAb0vyn7PlrZm3BXu BTJ2F245Bww3nFuCBdDQOkyjEezG6ORvcujkONoIxOXhRa3wKqPTEEBzjBOKsQ5gglpz Z62w== X-Gm-Message-State: AA+aEWb0R9YeGUQ6s9jEbgIYlYbR1reaF0tiamUtf8W0GJdOc/AGYXV9 frwe/tFySMoGpV23lWIiKCrBXhbDKMM= X-Received: by 2002:a63:e615:: with SMTP id g21mr24770067pgh.290.1543231263133; Mon, 26 Nov 2018 03:21:03 -0800 (PST) Received: from localhost ([122.172.88.116]) by smtp.gmail.com with ESMTPSA id m129-v6sm11780pfm.78.2018.11.26.03.21.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Nov 2018 03:21:02 -0800 (PST) From: Viresh Kumar To: Ingo Molnar , Peter Zijlstra Cc: Viresh Kumar , linux-kernel@vger.kernel.org, Vincent Guittot , tkjos@google.com, Daniel Lezcano , quentin.perret@linaro.org, chris.redpath@arm.com, Dietmar.Eggemann@arm.com Subject: [RFC][PATCH 0/2] sched: Power optimizations with SCHED_IDLE Date: Mon, 26 Nov 2018 16:50:22 +0530 Message-Id: X-Mailer: git-send-email 2.19.1.568.g152ad8e3369a MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, The intention behind sending this series is to get some initial feedback on the idea of specially handling CPUs which only have SCHED_IDLE activity enqueued on them, before investing too much effort on it. The current implementation handles very few code-paths and there is a lot more that we would need to do to make it work well for us. This allows enqueuing more tasks to a CPUs which only have tasks with SCHED_IDLE policy currently, as the new tasks should run on them without any significant delays. And this avoids waking up an otherwise idle CPU, hence save power without impacting performance. We don't have lots of SCHED_IDLE tasks in Android currently, but it should be possible to convert a few of the background tasks and take advantage of this feature. Only basic testing is done with the help of rt-app [1] currently to make sure the task is getting placed correctly. -- viresh Viresh Kumar (2): sched: Start tracking SCHED_IDLE tasks count in cfs_rq sched: Enqueue tasks on a cpu with only SCHED_IDLE tasks kernel/sched/core.c | 23 ++++++++++++++++ kernel/sched/fair.c | 64 +++++++++++++++++++++++++++++++++----------- kernel/sched/sched.h | 5 ++++ 3 files changed, 76 insertions(+), 16 deletions(-) -- 2.19.1.568.g152ad8e3369a [1] json: https://pastebin.ubuntu.com/p/Y4fr9xddV8/