Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3771226yba; Tue, 23 Apr 2019 09:19:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqxN/gKut8lHnSsNF7T8lTFyTKfLZdFgA83Xkeu5UQ69bOmz+Glp1v7s0rBuc/9XBCPuNIbZ X-Received: by 2002:a63:e850:: with SMTP id a16mr25683199pgk.195.1556036387020; Tue, 23 Apr 2019 09:19:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556036387; cv=none; d=google.com; s=arc-20160816; b=ZrAYO0OsYUPsYf+SJrlYdJBjLDAA9r2iUGwaV4+0cfTeP60sNiq9dFQpaPG9AD0oWE r42NA3tsh+QyvDfvG9FoaBrN5woC5t/lHkCZPU4BO211IXLhv5swZPxFRCss6dPfOAnb lhAciWxZBpaHat5/XgQGDLzLivB1hEseXOD+iXrboZrPSiWO2UcohBkKBFgPn6BiWNJb j0K1aBaYZTIXod32ptMCZPV+FOD+Dg5FQuWehPYGVkuBQ52cl9m8r9uz7viU5LLTeUom 6MNcDibNCSZd/P6A9RwqysER8L4woTaEkyPS+Af1pjBpIys/UVPHY0fDQ2wzxsHpLKK4 MXeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=pNLBY1/NGrIYBU6rhGuEDDDc1V0YuFCt5ddYuXaekAQ=; b=C9AzWJgLoF5wW52xyigKOuwj9Q/pRzCY2jVOBq1D2BmmAp8HZYXV9HkKOHhWhLLgS/ lwOCsdZM5HEjArUfuP4us85hjHD+QiKBy5sFalJY7EjFQfhGoAo2l6TOU8rjYnFJ4hnJ EYkh3fDa3R7P8sCyT5C8g9yDGN5DcX6+r7AY2XHKVTtWv+oeZqbm4dYiLxjFnHOzXw5o ULuZhV7vdY9uccKWUgDJwp7Zk0hUqCsj1KIZ/4S7E6P2NUB0XtjPF/yL2amK/41gQLxZ V5drs1c/u3ON+uyEyaPvk2761cY0ojwAHPos0rm4bJ4LRoPVzrvHPP+q56FxhHxasUIU ZDCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@digitalocean.com header.s=google header.b=QcB+IIW9; 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=REJECT sp=REJECT dis=NONE) header.from=digitalocean.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 39si16112543pla.437.2019.04.23.09.19.29; Tue, 23 Apr 2019 09:19:46 -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=@digitalocean.com header.s=google header.b=QcB+IIW9; 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=REJECT sp=REJECT dis=NONE) header.from=digitalocean.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728547AbfDWQSc (ORCPT + 99 others); Tue, 23 Apr 2019 12:18:32 -0400 Received: from mail-it1-f194.google.com ([209.85.166.194]:51050 "EHLO mail-it1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728523AbfDWQSc (ORCPT ); Tue, 23 Apr 2019 12:18:32 -0400 Received: by mail-it1-f194.google.com with SMTP id q14so1164557itk.0 for ; Tue, 23 Apr 2019 09:18:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=digitalocean.com; s=google; h=from:to:cc:subject:date:message-id; bh=pNLBY1/NGrIYBU6rhGuEDDDc1V0YuFCt5ddYuXaekAQ=; b=QcB+IIW9/MwAcbFB2Gry9lZO0uWPGo0S9gUkxrpW7zY0fN8gCm/WDMCz5j1GL3WzLw 3NRGO43n6PinSIfytVyAp1YIF8CtA90nVZaL316OaDm7WFBsdlr8Cu/7bXBhvvRM92er MWdlCzEAQ3mqWt9fZAOxKDEph8cwRQvZLdKSc= 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; bh=pNLBY1/NGrIYBU6rhGuEDDDc1V0YuFCt5ddYuXaekAQ=; b=lgMT1NM0JDmrJh7QQjYc6vegOI4IDUtTeCrcHa7wZHxUfRpXsHOSTIyS8HB3CxNH7e zZpZn1DVJTeT03ra4rdcB0b4GdDt2H2fot0IPfwfcD9NLNLsoAVHzf3Ny7kwvFJ/+kpV WPGmkW8/Z3YMYZtgU/vJg+dKt+FVsanC4FewmpPHDM2oWgy58uLtBBv+7UO7zUk8vAVU lk16E0bPsBwSubARn9bsCj34WTuA3inCBf9mvDeBHbGWjP37I/uzdCgLzJt+mhfbfxFr fubtHeeXD6l7DOrfRdPD1e6OyHM18TCoRpAPdW1BndsC5E0JeLf04FoL1jlo2ITgfdFQ bzxw== X-Gm-Message-State: APjAAAVVwVcR4MXdY8xSY1BsRuStpbPUeXIii/AW+fKRBayf2H+WuiTI HuCJkNktodRCKzbRo1M/INwsqQ== X-Received: by 2002:a02:1d03:: with SMTP id 3mr18595759jaj.73.1556036311271; Tue, 23 Apr 2019 09:18:31 -0700 (PDT) Received: from swap-tester ([178.128.225.14]) by smtp.gmail.com with ESMTPSA id z7sm2822378iog.75.2019.04.23.09.18.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 09:18:30 -0700 (PDT) From: Vineeth Remanan Pillai To: Nishanth Aravamudan , Julien Desfossez , Peter Zijlstra , Tim Chen , mingo@kernel.org, tglx@linutronix.de, pjt@google.com, torvalds@linux-foundation.org Cc: Vineeth Remanan Pillai , linux-kernel@vger.kernel.org, subhra.mazumdar@oracle.com, fweisbec@gmail.com, keescook@chromium.org, kerrnel@google.com, Phil Auld , Aaron Lu , Aubrey Li , Valentin Schneider , Mel Gorman , Pawan Gupta , Paolo Bonzini Subject: [RFC PATCH v2 00/17] Core scheduling v2 Date: Tue, 23 Apr 2019 16:18:05 +0000 Message-Id: X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Second iteration of the core-scheduling feature. This version fixes apparent bugs and performance issues in v1. This doesn't fully address the issue of core sharing between processes with different tags. Core sharing still happens 1% to 5% of the time based on the nature of workload and timing of the runnable processes. Changes in v2 ------------- - rebased on mainline commit: 6d906f99817951e2257d577656899da02bb33105 - Fixes for couple of NULL pointer dereference crashes - Subhra Mazumdar - Tim Chen - Improves priority comparison logic for process in different cpus - Peter Zijlstra - Aaron Lu - Fixes a hard lockup in rq locking - Vineeth Pillai - Julien Desfossez - Fixes a performance issue seen on IO heavy workloads - Vineeth Pillai - Julien Desfossez - Fix for 32bit build - Aubrey Li Issues ------ - Processes with different tags can still share the core - A crash when disabling cpus with core-scheduling on - https://paste.debian.net/plainh/fa6bcfa8 --- Peter Zijlstra (16): stop_machine: Fix stop_cpus_in_progress ordering sched: Fix kerneldoc comment for ia64_set_curr_task sched: Wrap rq::lock access sched/{rt,deadline}: Fix set_next_task vs pick_next_task sched: Add task_struct pointer to sched_class::set_curr_task sched/fair: Export newidle_balance() sched: Allow put_prev_task() to drop rq->lock sched: Rework pick_next_task() slow-path sched: Introduce sched_class::pick_task() sched: Core-wide rq->lock sched: Basic tracking of matching tasks sched: A quick and dirty cgroup tagging interface sched: Add core wide task selection and scheduling. sched/fair: Add a few assertions sched: Trivial forced-newidle balancer sched: Debug bits... Vineeth Remanan Pillai (1): sched: Wake up sibling if it has something to run include/linux/sched.h | 9 +- kernel/Kconfig.preempt | 7 +- kernel/sched/core.c | 800 +++++++++++++++++++++++++++++++++++++-- kernel/sched/cpuacct.c | 12 +- kernel/sched/deadline.c | 99 +++-- kernel/sched/debug.c | 4 +- kernel/sched/fair.c | 137 +++++-- kernel/sched/idle.c | 42 +- kernel/sched/pelt.h | 2 +- kernel/sched/rt.c | 96 +++-- kernel/sched/sched.h | 185 ++++++--- kernel/sched/stop_task.c | 35 +- kernel/sched/topology.c | 4 +- kernel/stop_machine.c | 2 + 14 files changed, 1145 insertions(+), 289 deletions(-) -- 2.17.1