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/

Reply via email to