From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965787AbeBMUcx (ORCPT ); Tue, 13 Feb 2018 15:32:53 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:36065 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965689AbeBMUcv (ORCPT ); Tue, 13 Feb 2018 15:32:51 -0500 X-Google-Smtp-Source: AH8x227KbtPjh4uCLOTUgy/1cGz3rnU9r1DO6RDAwowe6P78jQ1LKuvRs/ZfKZSnIDNQ0w4Njsdn/w== From: Mathieu Poirier To: peterz@infradead.org Cc: lizefan@huawei.com, mingo@redhat.com, rostedt@goodmis.org, claudio@evidence.eu.com, bristot@redhat.com, tommaso.cucinotta@santannapisa.it, juri.lelli@redhat.com, luca.abeni@santannapisa.it, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH V3 00/10] sched/deadline: fix cpusets bandwidth accounting Date: Tue, 13 Feb 2018 13:32:37 -0700 Message-Id: <1518553967-20656-1-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is the third installment of a patchset that attempt to fix a problem reported by Steve Rostedt [1] where DL bandwidth accounting is not recomputed after CPUset and CPU hotplug operations took place. When CPU hotplug and some CUPset manipulation take place root domains are destroyed and new ones created, loosing at the same time DL accounting information pertaining to utilisation. Please see [2] for a full description of the approach. The most notable change in this revision is the resolution of synchronisation issues between function __sched_setscheduler() and the the CPUset subsystem as pointed out by Juri Lelli. As with the second revision this set is available here [3] with the instrumentattion for patch 10/10 in this commit [4]. This set applies cleanly on top of v4.16-rc1. Best regards, Mathieu ------ Changes for V3: . Addressed potential race conditions between the CPUset subsystem and function __sched_setscheduler(). . Added a lockdep asset to function partition_sched_domains(). Change for V2: . Addressing a problem found by Luca Abeni where the mask of a DL task isn't modified when cpuset are collapsed. [1]. https://lkml.org/lkml/2016/2/3/966 [2]. https://groups.google.com/forum/#!topic/linux.kernel/uakbvOQE6rc [3]. https://git.linaro.org/people/mathieu.poirier/linux.git/log/?h=v4.16-rc1-bandwidth-accounting-v3 [4]. 4a95e8ab0881 sched/debug: Add 'rq_debug' proc entry Mathieu Poirier (10): sched/topology: Add check to backup comment about hotplug lock sched/topology: Adding function partition_sched_domains_locked() sched/core: Streamlining calls to task_rq_unlock() sched/core: Prevent race condition between cpuset and __sched_setscheduler() cpuset: Rebuild root domain deadline accounting information sched/deadline: Keep new DL task within root domain's boundary cgroup: Constrain 'sched_load_balance' flag when DL tasks are present cgroup: Constrain the addition of CPUs to a new CPUset sched/core: Don't change the affinity of DL tasks sched/deadline: Prevent CPU hotplug operation if DL task on CPU include/linux/cpuset.h | 12 ++ include/linux/sched.h | 5 + include/linux/sched/deadline.h | 8 ++ include/linux/sched/topology.h | 10 ++ kernel/cgroup/cpuset.c | 246 ++++++++++++++++++++++++++++++++++++++++- kernel/sched/core.c | 63 ++++++++--- kernel/sched/deadline.c | 36 ++++++ kernel/sched/sched.h | 3 - kernel/sched/topology.c | 33 +++++- 9 files changed, 392 insertions(+), 24 deletions(-) -- 2.7.4