From: Chao Peng <chao.p.peng@linux.intel.com>
To: Dario Faggioli <dario.faggioli@citrix.com>
Cc: wei.liu2@citrix.com, Ian.Campbell@citrix.com,
George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com,
Xen-devel <xen-devel@lists.xen.org>,
Dongxiao Xu <dongxiao.xu@intel.com>,
JBeulich@suse.com
Subject: Re: [RFC PATCH 3/7] xen: psr: reserve an RMID for each core
Date: Tue, 7 Apr 2015 16:24:18 +0800 [thread overview]
Message-ID: <20150407082418.GC3404@pengc-linux.bj.intel.com> (raw)
In-Reply-To: <20150404021441.22875.9924.stgit@Solace.station>
On Sat, Apr 04, 2015 at 04:14:41AM +0200, Dario Faggioli wrote:
> This allows for a new item to be passed as part of the psr=
> boot option: "percpu_cmt". If that is specified, Xen tries,
> at boot time, to associate an RMID to each core.
>
> XXX This all looks rather straightforward, if it weren't
> for the fact that it is, apparently, more common than
> I though to run out of RMID. For example, on a dev box
> we have in Cambridge, there are 144 pCPUs and only 71
> RMIDs.
>
> In this preliminary version, nothing particularly smart
> happens if we run out of RMIDs, we just fail attaching
> the remaining cores and that's it. In future, I'd
> probably like to:
> + check whether the operation have any chance to
> succeed up front (by comparing number of pCPUs with
> available RMIDs)
> + on unexpected failure, rollback everything... it
> seems to make more sense to me than just leaving
> the system half configured for per-cpu CMT
>
> Thoughts?
>
> XXX Another idea I just have is to allow the user to
> somehow specify a different 'granularity'. Something
> like allowing 'percpu_cmt'|'percore_cmt'|'persocket_cmt'
> with the following meaning:
> + 'percpu_cmt': as in this patch
> + 'percore_cmt': same RMID to hthreads of the same core
> + 'persocket_cmt': same RMID to all cores of the same
> socket.
>
> 'percore_cmt' would only allow gathering info on a
> per-core basis... still better than nothing if we
> do not have enough RMIDs for each pCPUs.
>
> 'persocket_cmt' would basically only allow to track the
> amount of free L3 on each socket (by subtracting the
> monitored value from the total). Again, still better
> than nothing, would use very few RMIDs, and I could
> think of ways of using this information in a few
> places in the scheduler...
>
> Again, thought?
This even can be extended to the concept of 'cache monitoring group',
which can hold arbitrary cpus into one group. Actually Linux
implementation does this by using the cgoup mechanism to allocate RMID
to a group of threads. Such design can solve the RMID-shortage somehow.
Chao
next prev parent reply other threads:[~2015-04-07 8:24 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-04 2:14 [RFC PATCH 0/7] Intel Cache Monitoring: Current Status and Future Opportunities Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 1/7] x86: improve psr scheduling code Dario Faggioli
2015-04-06 13:48 ` Konrad Rzeszutek Wilk
2015-04-04 2:14 ` [RFC PATCH 2/7] Xen: x86: print max usable RMID during init Dario Faggioli
2015-04-06 13:48 ` Konrad Rzeszutek Wilk
2015-04-07 10:11 ` Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 3/7] xen: psr: reserve an RMID for each core Dario Faggioli
2015-04-06 13:59 ` Konrad Rzeszutek Wilk
2015-04-07 10:19 ` Dario Faggioli
2015-04-07 13:57 ` Konrad Rzeszutek Wilk
2015-04-07 8:24 ` Chao Peng [this message]
2015-04-07 10:07 ` Dario Faggioli
2015-04-08 13:28 ` George Dunlap
2015-04-08 14:03 ` Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 4/7] xen: libxc: libxl: report per-CPU cache occupancy up to libxl Dario Faggioli
2015-04-04 2:14 ` [RFC PATCH 5/7] xen: libxc: libxl: allow for attaching and detaching a CPU to CMT Dario Faggioli
2015-04-04 2:15 ` [RFC PATCH 6/7] xl: report per-CPU cache occupancy up to libxl Dario Faggioli
2015-04-04 2:15 ` [RFC PATCH 7/7] xl: allow for attaching and detaching a CPU to CMT Dario Faggioli
2015-04-07 8:19 ` [RFC PATCH 0/7] Intel Cache Monitoring: Current Status and Future Opportunities Chao Peng
2015-04-07 9:51 ` Dario Faggioli
2015-04-07 10:27 ` Andrew Cooper
2015-04-07 13:10 ` Dario Faggioli
2015-04-08 5:59 ` Chao Peng
2015-04-08 8:23 ` Dario Faggioli
2015-04-08 8:53 ` Andrew Cooper
2015-04-08 8:55 ` Chao Peng
2015-04-09 15:44 ` Meng Xu
2015-04-08 11:27 ` George Dunlap
2015-04-08 13:29 ` Dario Faggioli
2015-04-08 11:30 ` George Dunlap
2015-04-08 13:16 ` Dario Faggioli
2015-04-09 15:37 ` Meng Xu
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=20150407082418.GC3404@pengc-linux.bj.intel.com \
--to=chao.p.peng@linux.intel.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=dongxiao.xu@intel.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.