lkml.org 
[lkml]   [2015]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC] ioctl based CAT interface
On Mon, 16 Nov 2015 10:07:56 +0100
Peter Zijlstra <peterz@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.


\
 
 \ /
  Last update: 2015-11-16 17:41    [W:0.072 / U:0.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site