From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753946AbcFPJq0 (ORCPT ); Thu, 16 Jun 2016 05:46:26 -0400 Received: from mga01.intel.com ([192.55.52.88]:32124 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751562AbcFPJqZ (ORCPT ); Thu, 16 Jun 2016 05:46:25 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,478,1459839600"; d="scan'208";a="719988044" From: Yuyang Du To: peterz@infradead.org, mingo@kernel.org, linux-kernel@vger.kernel.org Cc: umgwanakikbuti@gmail.com, bsegall@google.com, pjt@google.com, morten.rasmussen@arm.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, matt@codeblueprint.co.uk, Yuyang Du Subject: [RFC PATCH 00/11] Refactor select_task_rq_fair() Date: Thu, 16 Jun 2016 09:49:24 +0800 Message-Id: <1466041775-4528-1-git-send-email-yuyang.du@intel.com> X-Mailer: git-send-email 1.7.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, As a follow-up of my recent proposal to remove SD_WAKE_AFFINE, I have this initial-draft and unfinished refactoring to select_task_rq_fair(). Basic idea is to form a comprehensive view of the topology to guide the select. My many wanted jobs haven't been achieved, so I decided to post this initial draft earlier to have your comments and experiences (I have no experience on production multi-socket machines and no real experince on heterogeneous CPUs). But generally, better topology view, I believe, should greatly help with the full spectrum of machines from big to small. Just lightly tested, it only works, :) So my patches are built on Peter's select_idle_sibling() patches (so all of them should be a little outdated), and borrowed his scan cost regulation part. Thanks a lot. Yuyang -- Peter Zijlstra (6): sched: Remove unused @cpu argument from destroy_sched_domain*() sched: Restructure destroy_sched_domain() sched: Introduce struct sched_domain_shared sched: Replace sd_busy/nr_busy_cpus with sched_domain_shared sched: Rewrite select_idle_siblings() sched: Optimize SCHED_SMT Yuyang Du (5): sched: Clean up SD_BALANCE_WAKE flags in sched domain build-up sched: Remove SD_WAKE_AFFINE flag and replace it with SD_BALANCE_WAKE sched: Add per CPU variable sd_socket_id to specify the CPU's socket sched: Add sched_llc_complete static key to specify whether the LLC covers all CPUs sched/fair: Refactor select_task_rq_fair() include/linux/sched.h | 17 +- kernel/sched/core.c | 134 ++++++++--- kernel/sched/deadline.c | 2 +- kernel/sched/fair.c | 589 +++++++++++++++++++++++++++++++++++++++++----- kernel/sched/features.h | 1 + kernel/sched/idle_task.c | 2 +- kernel/sched/rt.c | 2 +- kernel/sched/sched.h | 28 ++- kernel/time/tick-sched.c | 10 +- 9 files changed, 680 insertions(+), 105 deletions(-) -- 1.7.9.5