public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Tejun Heo <tj@kernel.org>,
	Vikas Shivappa <vikas.shivappa@intel.com>,
	"Auld, Will" <will.auld@intel.com>,
	Vikas Shivappa <vikas.shivappa@linux.intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Fleming, Matt" <matt.fleming@intel.com>
Subject: Re: Cache Allocation Technology Design
Date: Thu, 6 Nov 2014 16:27:13 +0000	[thread overview]
Message-ID: <20141106162713.GI3592@console-pimps.org> (raw)
In-Reply-To: <20141030224740.GC12706@worktop.programming.kicks-ass.net>

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

  reply	other threads:[~2014-11-06 16:27 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16 18:44 Cache Allocation Technology Design vikas
2014-10-20 16:18 ` Matt Fleming
2014-10-24 10:53   ` Peter Zijlstra
2014-10-28 23:22     ` Matt Fleming
2014-10-29  8:16       ` Peter Zijlstra
2014-10-29 12:48         ` Matt Fleming
2014-10-29 13:45           ` Peter Zijlstra
2014-10-29 16:32             ` Auld, Will
2014-10-29 17:28               ` Peter Zijlstra
2014-10-29 17:41                 ` Vikas Shivappa
2014-10-29 18:22                   ` Tejun Heo
2014-10-30  7:07                     ` Peter Zijlstra
2014-10-30  7:14                       ` Peter Zijlstra
2014-10-30 12:44                         ` Tejun Heo
2014-10-30 13:19                           ` Peter Zijlstra
2014-10-30 15:25                             ` Tejun Heo
2014-10-30 12:43                       ` Tejun Heo
2014-10-30 13:18                         ` Peter Zijlstra
2014-10-30 17:03                           ` Tejun Heo
2014-10-30 21:43                             ` Peter Zijlstra
2014-10-30 22:22                               ` Tejun Heo
2014-10-30 22:47                                 ` Peter Zijlstra
2014-11-06 16:27                                   ` Matt Fleming [this message]
2014-11-06 17:20                                     ` Vikas Shivappa
2014-10-31 13:07                                 ` Peter Zijlstra
2014-10-31 15:58                                   ` Tejun Heo
2014-11-04 13:13                                     ` Peter Zijlstra
2014-11-05 20:41                                       ` Tejun Heo
2014-10-30 14:14                         ` Matt Fleming
     [not found]                         ` <CAAAKZwvJOKsrj_yczDGaNLaNYo+_=HzsTLwDdcaTJqO2VMy8uA@mail.gmail.com>
2014-10-30 17:12                           ` Tejun Heo
2014-10-30 22:35                             ` Tim Hockin
2014-10-31 16:57                               ` Tejun Heo
2014-10-30 23:18                         ` Vikas Shivappa
2014-11-04 13:17                           ` Peter Zijlstra
2014-11-06 17:03                             ` Matt Fleming
2014-11-10 15:50                               ` Peter Zijlstra
2014-10-29 17:26     ` Vikas Shivappa
2014-10-29 18:16       ` Peter Zijlstra
2014-11-03 23:29 ` Vikas Shivappa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141106162713.GI3592@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=peterz@infradead.org \
    --cc=tj@kernel.org \
    --cc=vikas.shivappa@intel.com \
    --cc=vikas.shivappa@linux.intel.com \
    --cc=will.auld@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox