From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753827AbeAQQBZ convert rfc822-to-8bit (ORCPT ); Wed, 17 Jan 2018 11:01:25 -0500 Received: from mout.gmx.net ([212.227.17.20]:60512 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753168AbeAQQBX (ORCPT ); Wed, 17 Jan 2018 11:01:23 -0500 Message-ID: <1516204793.31983.39.camel@gmx.de> Subject: Re: [GIT PULL] isolation: 1Hz residual tick offloading v3 From: Mike Galbraith To: Christopher Lameter Cc: Frederic Weisbecker , Luiz Capitulino , Ingo Molnar , LKML , Peter Zijlstra , Chris Metcalf , Thomas Gleixner , "Paul E . McKenney" , Wanpeng Li , Rik van Riel Date: Wed, 17 Jan 2018 16:59:53 +0100 In-Reply-To: References: <1515039937-367-1-git-send-email-frederic@kernel.org> <20180112141813.32dcc84d@redhat.com> <20180116154055.GA27042@lerouge> <1516125498.6599.23.camel@gmx.de> Content-Type: text/plain; charset="ISO-8859-15" X-Mailer: Evolution 3.20.5 Mime-Version: 1.0 Content-Transfer-Encoding: 8BIT X-Provags-ID: V03:K0:yGqh4NEYPoPoEgCKrK6h68iV3BZ6lZcQsLYCiDzSGHwCLShTOgy Vj0xxRzhhnQvVGNEB3sDSbRjcSTNWUfVFDOWGM2yNAiOYXDiQFkS1GDqdG66UQoGmYyNe47 hz0DNKNq3U348fkLpqLjCZSAX+y2VhRSbmD34rXOeFZ1EMxfyueGqOHsNzwbKAsz1gyQQs4 tgfe1Au78VSkdMDhTNlgA== X-UI-Out-Filterresults: notjunk:1;V01:K0:TWNxP/VK8aQ=:k4dZ02U4GQKrhMWfHATvAj /BqMPXwfzqtauH5oL0Dc4E+/uorcUpEDEoTJahQpWmJ6MzW+CJEVWyVJfXz0ojw+xKFHCPVTp o3U+3fX0d1bWBO0hsWRZ2/IOongWLMkfXk7XJhu8nkb5VdTzFc0Ex5kYrAnl5H+b/UUY9zJaM D6O5AdTa5Tb8PhIl8k7SmBHd3codyTPATy7WcpWi7jt+MGJbDISh4YugtUTUm5swrOHqu8thZ eLnUN23b9QmBVHftjw1xx39AIcjrNHrYpKpzJon4JxIbJAXuAt2AqTaUBt1tPhZMDEZX4n4Zs DHts8aqmil+crf8wTcQhtOR6SPF4ZWVPzM2AcNeEacGH+aCEvdQOIb076oPAMaC7SaXCWJ7G+ bzvR6xvShEeDKYQpCDCjMkO3u6B03+ceM88r7WK/efcHvzuDdWv9ZNfUi8R1klZAGmq3YAXzT L7z+L5EGzTXpVYdWNRA+Fq6EAiKoB6q4oaTqegy8T9Nuhus0/AEnA8fTdT91n46mWtR8p7FGE A7HZLfAQWcSy/i+mUa1M9RYU+Cb3LlyoPLFMs67A8NFW4E3ADhPTCEDhDnIkRshwKOd5+hdLc 1ffioFxrfULCGmFXMf7dO60CWIvK1kDdj4GIT1SbzYXvtcH/duyNfXO5fc3vGmffSGbvV1kVw vntpZkMCC6g3hT1jVQjahYIYtfLfP8SaOFNSb7wBGbRIeCTFGBOKVZXYaxKzkL28Eqjr/vimJ QidLJjBqQpzbwJ2wsP/xrsmM7gSiLSP9Q+nB1W4DpCczo/CvQHwtnoUrXBG5E+840jSeVZYR7 bMk/GZXjj4VX3OQPDzBz1ndpXoVfeIpENsjkOKKRXskpvBYZOo= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2018-01-17 at 08:51 -0600, Christopher Lameter wrote: > On Tue, 16 Jan 2018, Mike Galbraith wrote: > > > > I tried to remove isolcpus or at least change the way it works so that its > > > effects are reversible (ie: affine the init task instead of isolating domains) > > > but that got nacked due to the behaviour's expectations for userspace. > > > > So we paint ourselves into a static corner forever more, despite every > > bit of this being all about "properties of sets of cpus", ie precisely > > what cpusets was born to do.  That's sad, dynamic wasn't that far away. > > cpusets was born in order to isolate applications to sets of processors. > The properties of sets of cpus was not on the horizon when SGI started > this. Domain connectivity very much is a property of a set of CPUs, a rather important one, and one managed by cpusets.  NOHZ_FULL is a property of a set of cpus, thus a most excellent fit.  Other things are as well. > We have sets of cpus associated with affinity masks in the form of bitmaps > etc etc which is much more lightweight than having slug around the cgroup > overhead everywhere. What does everywhere mean, set creation time? > A simple bitmask is much better if you have to control detailed system > behavior for each core and are planning each processes role because you > need to make full use of the harware resources available. If you live in a static world, maybe. I like the flexibility of being able to configure on the fly.  One tiny example: for a high performance aircraft manufacturer, having military simulation background, I know that simulators frequently have to be ready to go at the drop of a hat, so I twiddled cpusets to let them flip their extra fancy video game (80 cores, real controls/avionics... "game over, insert one gold bar to continue" kind of fancy) from low power idle to full bore hard realtime with one poke to a cpuset file. Static may be fine for some, for others, dynamic is much better. -Mike