From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752360AbdBILrb (ORCPT ); Thu, 9 Feb 2017 06:47:31 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:56205 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752029AbdBILr3 (ORCPT ); Thu, 9 Feb 2017 06:47:29 -0500 Date: Thu, 9 Feb 2017 12:46:43 +0100 (CET) From: Thomas Gleixner To: Ingo Molnar cc: Peter Zijlstra , linux-kernel@vger.kernel.org, Andrew Morton , Linus Torvalds , Mike Galbraith , Oleg Nesterov Subject: Re: [PATCH 05/10] sched/core: Remove the tsk_cpus_allowed() wrapper In-Reply-To: <20170209090808.GA6893@gmail.com> Message-ID: References: <1486578863-8903-1-git-send-email-mingo@kernel.org> <1486578863-8903-6-git-send-email-mingo@kernel.org> <20170209085346.GZ6500@twins.programming.kicks-ass.net> <20170209090808.GA6893@gmail.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 9 Feb 2017, Ingo Molnar wrote: > > * Peter Zijlstra wrote: > > > On Wed, Feb 08, 2017 at 07:34:18PM +0100, Ingo Molnar wrote: > > > > > So the original intention of tsk_cpus_allowed() was to 'future-proof' the > > > field - but it's pretty ineffectual at that, because half of the code uses > > > ->cpus_allowed directly ... > > > > > > Also, the wrapper makes the code longer than the original expression! > > > > I still object to taking this out without replacement. > > Yeah, that would have been my next suggestion. > > > This leaves RT stranded. > > Well, no, it leaves -rt with slightly more patching work than it already has... > > Because note how the wrappery is _already_ incomplete to a significant degree: > > triton:~/tip> git grep -Ee '->cpus_allowed' | grep -vE 'tsk_|cpuset|core.c' | wc -l > 27 > triton:~/tip> git grep tsk_cpus_allowed | wc -l > 43 > > I.e. around 40% of the places that use ->cpus_allowed in the upstream kernel are > not properly wrapped. That fact already 'wrecks' -rt. Nope it does not. The places which use cpumask directly are not interfering with the decisions which are made by the scheduler whether migration can happen or not. All decision code pathes use the wrapper and we make sure on every update that this is the case. I completely agree that your idea with the const *ptr is the better solution, but without that replacement RT is stranded and left alone with the mop up. Thanks, tglx