Re: [PATCH RFC] ioctl based CAT interface

Marcelo Tosatti
2015-11-13T20:28:27Z

On Fri, Nov 13, 2015 at 02:04:38PM -0500, Luiz Capitulino wrote:
> On Fri, 13 Nov 2015 15:27:40 -0200
> Marcelo Tosatti <mtosatti@redhat.com> 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.
> >
> > Please expand on what "cpuset integration" means, operationally.
> > I hope it does not mean "i prefer cgroups as an interface",
> > because that does not mean much to me.
>
> I guess that what Peter is saying is that we don't want tasks
> attached to a reservation landing on a CPU where the reservation
> might be different or not existent at all.

Then you pin the tasks to not land on those CPUs, explicitly.

If you create a reservation on the CPU, then there is a reservation
there. If you don't, then there will be no reservation on that CPU.

The amount of L3 cache you reserve is the same, on each CPU, just the
location of L3 cache is different, but the quantity is the same.

(this in case the region shared with HW is different). If the region
shared with HW is the same on each socket, then the location (as
specified in the capacity bitmask) is the same on every socket. HW
limitation.

> Peter, what about integrating this with affinity masks instead
> of cpusets (I have no idea how cpusets are implemented, but I
> guess they are a superset of affinity masks).
>
> This way, the ATTACH_RESERVATION command would fail if any
> of the CPUs in the cpumask are not part of the reservation.
> And then our code would have to be notified any time the process'
> affinity mask is changed (we either fail the affinity change
> or detach the process automatically from the reservation). Does
> this sound like a good solution?

Yes, perhaps notifications to cpusets is what Peter refers to?