[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141106162713.GI3592@console-pimps.org>
Date: Thu, 6 Nov 2014 16:27:13 +0000
From: Matt Fleming <matt@...sole-pimps.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Tejun Heo <tj@...nel.org>,
Vikas Shivappa <vikas.shivappa@...el.com>,
"Auld, Will" <will.auld@...el.com>,
Vikas Shivappa <vikas.shivappa@...ux.intel.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Fleming, Matt" <matt.fleming@...el.com>
Subject: Re: Cache Allocation Technology Design
On Thu, 30 Oct, at 11:47:40PM, Peter Zijlstra wrote:
>
> Let me reply to just this one, I'll do the rest tomorrow, need sleeps.
>
> On Thu, Oct 30, 2014 at 06:22:36PM -0400, Tejun Heo wrote:
>
> > > > This controller might not even require the distinction between
> > > > configured and effective tho? Can't a new child just inherit the
> > > > parent's configuration and never allow the config to become completely
> > > > empty?
> > >
> > > It can do that. But that still has a problem, there is a mapping in
> > > hardware which restricts the number of active configurations. The total
> > > configuration space is larger than the supported active configurations.
> > >
> > > So _something_ must fail. The initial proposal was mkdir failing when
> > > there were more than the hardware supported active config cgroup
> > > directories. The alternative was on-demand activation where we only
> > > allocate the hardware resource when the first task gets moved into the
> > > group -- which then clearly can fail.
> >
> > Hmmm... why can't it just refuse creating a different configuration
> > when its config space is full? Make children inherit the parent's
> > configuration and refuse config writes which require it to create a
> > new one if the config space is full. Seems pretty straight-forward.
> > What am I missing?
>
> We could do that I suppose, there is the one corner case that would not
> allow, intermediate directories with a restricted config that also have
> priv restrictions but no actual tasks. Not sure that makes sense though.
Could you elaborate on this configuration?
> Are there any other cases I might have missed?
I don't think so.
So, for the specific CAT case what you're proposing is make the failure
case happen when writing to the cache bitmask file instead of failing
mkdir() or echo $tid > tasks ?
I think that's OK. If we've run out of CLOS ids I would expect to see
-ENOSPC returned, whereas if we try and set an invalid bitmask we'd get
-EINVAL.
Vikas, Will?
--
Matt Fleming, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists