On Fri, Nov 13, 2015 at 03:33:04PM -0200, Marcelo Tosatti wrote: > On Fri, Nov 13, 2015 at 05:51:00PM +0100, Peter Zijlstra wrote: > > On Fri, Nov 13, 2015 at 02:39:33PM -0200, Marcelo Tosatti wrote: > > > + * * one tcrid entry can be in different locations > > > + * in different sockets. > > > > NAK on that without cpuset integration. > > > > I do not want freely migratable tasks having radically different > > performance profiles depending on which CPU they land. > > Ok, so, configuration: > > > Socket-1 Socket-2 > > pinned thread-A with 100% L3 free > 80% of L3 > reserved > > > So it is a problem if a thread running on socket-2 is scheduled to > socket-1 because performance is radically different, fine. > > Then one way to avoid that is to not allow freely migratable tasks > to move to Socket-1. Fine. > > Then you want to use cpusets for that. > > Can you fill in the blanks what is missing here?
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. -- 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/