public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: "Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@intel.com>
Cc: Tejun Heo <tj@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Li Zefan <lizefan@huawei.com>,
	"containers@lists.linux-foundation.org" 
	<containers@lists.linux-foundation.org>,
	"cgroups@vger.kernel.org" <cgroups@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/4] x86: Add Cache QoS Monitoring (CQM) support
Date: Mon, 6 Jan 2014 23:12:51 +0100	[thread overview]
Message-ID: <20140106221251.GJ30183@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <1389044899.32504.43.camel@ppwaskie-mobl.amr.corp.intel.com>

On Mon, Jan 06, 2014 at 09:48:29PM +0000, Waskiewicz Jr, Peter P wrote:
> On Mon, 2014-01-06 at 22:26 +0100, Peter Zijlstra wrote:
> > On Mon, Jan 06, 2014 at 08:10:45PM +0000, Waskiewicz Jr, Peter P wrote:
> > > There is one per logical CPU.  However, in the current generation, they
> > > report on the usage of the same L3 cache.  But the CPU takes care of the
> > > resolution of which MSR write and read comes from the logical CPU, so
> > > software doesn't need to lock access to it from different CPUs.
> > 
> > What are the rules of RMIDs, I can't seem to find that in the SDM and I
> > think you're tagging cachelines with them. Which would mean that in
> > order to (re) use them you need a complete cache (L3) wipe.
> 
> The cacheline is tagged internally with the RMID as part of the waymask
> for the thread in the core.
> 
> > Without a wipe you keep having stale entries of the former user and no
> > clear indication on when your numbers are any good.
> 
> That can happen, yes.  If you have leftover cache data from a process
> that died that hasn't been evicted yet and it's assigned to the RMID
> you're using, you will see its included cache occupancy to the overall
> numbers.
> 
> > Also, is there any sane way of shooting down the entire L3?
> 
> That is a question I'd punt to hpa, but I'll ask him.  Looking around
> though, a WBINVD would certainly nuke things, but would hurt
> performance.  We could get creative with INVPCID as a process dies.  Let
> me ask him though and see if there's a good way to tidy up.

You seem to be assuming a RMID is for the entire task lifetime.

Since its a very limited resource that seems like a weird assumption to
me; there's plenty scenarios in which you'd want to re-use RMIDs that
belong to a still running context.

At which point you need to force wipe.. otherwise its impossible to tell
when the number reported makes any kind of sense.

  reply	other threads:[~2014-01-06 22:13 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-03 20:34 [PATCH 0/4] x86: Add Cache QoS Monitoring (CQM) support Peter P Waskiewicz Jr
2014-01-03 20:34 ` [PATCH 1/4] x86: Add support for Cache QoS Monitoring (CQM) detection Peter P Waskiewicz Jr
2014-01-03 20:34 ` [PATCH 2/4] x86: Add Cache QoS Monitoring support to x86 perf uncore Peter P Waskiewicz Jr
2014-01-03 20:34 ` [PATCH 3/4] cgroup: Add new cacheqos cgroup subsys to support Cache QoS Monitoring Peter P Waskiewicz Jr
2014-01-03 20:34 ` [PATCH 4/4] Documentation: Add documentation for cacheqos cgroup Peter P Waskiewicz Jr
2014-01-04 16:10 ` [PATCH 0/4] x86: Add Cache QoS Monitoring (CQM) support Tejun Heo
2014-01-04 22:43   ` Waskiewicz Jr, Peter P
2014-01-04 22:50     ` Tejun Heo
2014-01-05  5:23       ` Waskiewicz Jr, Peter P
2014-01-06 11:16         ` Peter Zijlstra
2014-01-06 16:34           ` Waskiewicz Jr, Peter P
2014-01-06 16:41             ` Peter Zijlstra
2014-01-06 16:47               ` Waskiewicz Jr, Peter P
2014-01-06 17:53                 ` Peter Zijlstra
2014-01-06 18:05                   ` Waskiewicz Jr, Peter P
2014-01-06 18:06                 ` Peter Zijlstra
2014-01-06 20:10                   ` Waskiewicz Jr, Peter P
2014-01-06 21:26                     ` Peter Zijlstra
2014-01-06 21:48                       ` Waskiewicz Jr, Peter P
2014-01-06 22:12                         ` Peter Zijlstra [this message]
2014-01-06 22:45                           ` Waskiewicz Jr, Peter P
2014-01-07  8:34                             ` Peter Zijlstra
2014-01-07 15:15                               ` Waskiewicz Jr, Peter P
2014-01-07 21:12                                 ` Peter Zijlstra
2014-01-10 18:55                                   ` Waskiewicz Jr, Peter P
2014-01-13  7:55                                     ` Peter Zijlstra
2014-01-14 17:58                                       ` H. Peter Anvin
2014-01-27 17:34                                         ` Peter Zijlstra
2014-02-18 17:29                                           ` Waskiewicz Jr, Peter P
2014-02-18 19:35                                             ` Peter Zijlstra
2014-02-18 19:54                                               ` Waskiewicz Jr, Peter P
2014-02-20 16:58                                                 ` Peter Zijlstra
2014-01-14 20:46                                       ` Waskiewicz Jr, Peter P
2014-01-06 11:08 ` Peter Zijlstra
2014-01-06 16:42   ` Waskiewicz Jr, Peter P

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=20140106221251.GJ30183@twins.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=cgroups@vger.kernel.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mingo@redhat.com \
    --cc=peter.p.waskiewicz.jr@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    /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