Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752516AbbKPQSr (ORCPT ); Mon, 16 Nov 2015 11:18:47 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46825 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751824AbbKPQSo (ORCPT ); Mon, 16 Nov 2015 11:18:44 -0500 Date: Mon, 16 Nov 2015 11:18:42 -0500 From: Luiz Capitulino To: Peter Zijlstra Cc: Marcelo Tosatti , Thomas Gleixner , Vikas Shivappa , Tejun Heo , Yu Fenghua , linux-kernel@vger.kernel.org Subject: Re: [PATCH RFC] ioctl based CAT interface Message-ID: <20151116111842.0c0a30f9@redhat.com> In-Reply-To: <20151116090756.GM17308@twins.programming.kicks-ass.net> References: <20151113163933.GA10222@amt.cnet> <20151113165100.GI17308@twins.programming.kicks-ass.net> <20151113173303.GB13490@amt.cnet> <20151116090756.GM17308@twins.programming.kicks-ass.net> Organization: Red Hat MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1617 Lines: 45 On Mon, 16 Nov 2015 10:07:56 +0100 Peter Zijlstra wrote: > I'm still not seeing what the problem with CAT-cgroup is. > > /cgroups/cpuset/ > socket-1/cpus = $socket-1 > tasks = $thread-A > > socket-2/cpus = $socket-2 > tasks = $thread-B > > /cgroups/cat/ > group-A/bitmap = 0x3F / 0xFF > group-A/tasks = $thread-A > > group-B/bitmap = 0xFF / 0xFF > group-B/tasks = $thread-B > > > That gets you thread-A on socket-1 with 6/8 of the L3 and thread-B on > socket-2 with 8/8 of the L3. Peter, I'm giving a serious try on the cgroups patches and would be glad to be enlightened if I'm missing something. But I don't see how what you're proposing would solve the problem. My understanding of CAT is that if I want to reserve 80% of the cache in socket-1 to $thread-A I also have to: 1. Create another mask reserving 20% of the cache in socket-1 2. Assign that mask to all other threads that may run in socket-1 If I'm right about this, then when a task with 20% reservation migrates to socket-2 it will only access 20% of the cache there even though there should be no restrictions in socket-2's cache. If the solution you're proposing means that I should assign all other tasks to $thread-B, then what you're actually doing is pinning all tasks but $thread-A to socket-2. You can do this today without CAT. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/