Re: [PATCH RFC] ioctl based CAT interface

From: Peter Zijlstra
Date: Mon Nov 16 2015 - 04:08:39 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/