Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp100983ybp; Thu, 3 Oct 2019 10:46:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqw3d6jTkfG7wcVsvhYIKt3NdW6q87Tt2qzrmAJpDiM3RLxHNydwiO5st8Ldicq6jq9iKgTH X-Received: by 2002:a17:906:6bd5:: with SMTP id t21mr8788327ejs.128.1570124786184; Thu, 03 Oct 2019 10:46:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570124786; cv=none; d=google.com; s=arc-20160816; b=kBKBrkYLeveQYyOAe3qkQ/7y0aX27rK6DWUyf+dPLeswKYVZjO8X8mh2/zNUVWDGIR IhpLdO/doqAPCLgk3h+qJG+vTXUknVrR5c8hgnY5KHnnt3gTT4xccoRq5xkzVyfsXBGZ W0qa4yLcBesqRBb4TcJSxfgrBCNRsLb4KrSKgu+Z/03mimWWGAaOJbYMSFOZBNhF2PqC 0G2UC2f6HQWIWgZDJRLBTqEj5tj1Ijwz8P0gSzOzrTENUSNLRVIc7rJbUWQfeKR6aJlB 44xcpiv3UAnegyfUcXnvBNIYs3436cDkthJGNgMc+0aeq6sPBCQ/6ZzuwEPGFIZYK1m5 /sVA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=F/pF/o60oW0lakV5l/JMMObFSIHZzQzVHKKib4LpNfM=; b=LmsXROMwQm+VH9UN/h4YtRBffa5mKBtOfojojnd5c2PRt2YEtlYXVl+GodNUMDxrf7 p6UMVyq/t4rYGhzCI7Iubzh6aUknBFlb/Fd8v+TzrrkxlUVZxFzGYdj69JON9QqNC1kI sEeLg8cmBdV28dEX0buWTreU7e2jsmodzFl9qdtuOGlo890jDDPrb17sScGAhnuFxR72 Q0wQMIkLGa7QrDNM0r/BPGdGk9EXCA7H6v40aUuYNcxVYkX2lY8UG8WUTwQ8jBe/olp1 OIUVJOn85kMuKcBGYtfgXOligDN1LN+sfqrpYvqUcckDAuYcdD8Jxx2ym83rw1JmFMod UGDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=tiQx9ahK; 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 s6si2089367edi.154.2019.10.03.10.46.01; Thu, 03 Oct 2019 10:46:26 -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=@kernel.org header.s=default header.b=tiQx9ahK; 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 S1730902AbfJCR0Y (ORCPT + 99 others); Thu, 3 Oct 2019 13:26:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:40808 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729273AbfJCQQH (ORCPT ); Thu, 3 Oct 2019 12:16:07 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2590C2054F; Thu, 3 Oct 2019 16:16:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570119365; bh=l2a7Rfq5/NAQ7QMWaisNsFJ1WJ1m9Lkwd+QhTQZ3nhU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tiQx9ahKaDln9xKQlWfho6Swk6ppKXLJMhKvGszVBMnmbMed18+S3cSKto1cmUHs1 gbT0FSlRgJU2OViCTKoEfrpcW5v0Neli7Cw6EcZduUGp1x+/UUWVnumSwXe+TsPCnA Snyx4FQ+TxH9cq1cbw4MJOMOdSElFe6iHrV50Hys= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Juri Lelli , "Peter Zijlstra (Intel)" , =?UTF-8?q?Michal=20Koutn=C3=BD?= , Daniel Bristot de Oliveira , Tejun Heo , Linus Torvalds , Thomas Gleixner , lizefan@huawei.com, longman@redhat.com, luca.abeni@santannapisa.it, rostedt@goodmis.org, Ingo Molnar , Sasha Levin Subject: [PATCH 4.19 039/211] sched/core: Fix CPU controller for !RT_GROUP_SCHED Date: Thu, 3 Oct 2019 17:51:45 +0200 Message-Id: <20191003154456.365057414@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154447.010950442@linuxfoundation.org> References: <20191003154447.010950442@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Juri Lelli [ Upstream commit a07db5c0865799ebed1f88be0df50c581fb65029 ] On !CONFIG_RT_GROUP_SCHED configurations it is currently not possible to move RT tasks between cgroups to which CPU controller has been attached; but it is oddly possible to first move tasks around and then make them RT (setschedule to FIFO/RR). E.g.: # mkdir /sys/fs/cgroup/cpu,cpuacct/group1 # chrt -fp 10 $$ # echo $$ > /sys/fs/cgroup/cpu,cpuacct/group1/tasks bash: echo: write error: Invalid argument # chrt -op 0 $$ # echo $$ > /sys/fs/cgroup/cpu,cpuacct/group1/tasks # chrt -fp 10 $$ # cat /sys/fs/cgroup/cpu,cpuacct/group1/tasks 2345 2598 # chrt -p 2345 pid 2345's current scheduling policy: SCHED_FIFO pid 2345's current scheduling priority: 10 Also, as Michal noted, it is currently not possible to enable CPU controller on unified hierarchy with !CONFIG_RT_GROUP_SCHED (if there are any kernel RT threads in root cgroup, they can't be migrated to the newly created CPU controller's root in cgroup_update_dfl_csses()). Existing code comes with a comment saying the "we don't support RT-tasks being in separate groups". Such comment is however stale and belongs to pre-RT_GROUP_SCHED times. Also, it doesn't make much sense for !RT_GROUP_ SCHED configurations, since checks related to RT bandwidth are not performed at all in these cases. Make moving RT tasks between CPU controller groups viable by removing special case check for RT (and DEADLINE) tasks. Signed-off-by: Juri Lelli Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Michal Koutný Reviewed-by: Daniel Bristot de Oliveira Acked-by: Tejun Heo Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: lizefan@huawei.com Cc: longman@redhat.com Cc: luca.abeni@santannapisa.it Cc: rostedt@goodmis.org Link: https://lkml.kernel.org/r/20190719063455.27328-1-juri.lelli@redhat.com Signed-off-by: Ingo Molnar Signed-off-by: Sasha Levin --- kernel/sched/core.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index e06c12d293f70..f4e050681ba1c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6494,10 +6494,6 @@ static int cpu_cgroup_can_attach(struct cgroup_taskset *tset) #ifdef CONFIG_RT_GROUP_SCHED if (!sched_rt_can_attach(css_tg(css), task)) return -EINVAL; -#else - /* We don't support RT-tasks being in separate groups */ - if (task->sched_class != &fair_sched_class) - return -EINVAL; #endif /* * Serialize against wake_up_new_task() such that if its -- 2.20.1