On Mon, 16 Nov 2015 10:07:56 +0100 Peter Zijlstra <pet...@infradead.org> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/