From: Chao Peng <chao.p.peng@linux.intel.com>
To: He Chen <he.chen@linux.intel.com>
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com,
ian.jackson@eu.citrix.com, jbeulich@suse.com,
xen-devel@lists.xenproject.org, keir@xen.org
Subject: Re: [PATCH v3 2/4] x86: add domctl cmd to set/get CDP code/data CBM
Date: Mon, 14 Sep 2015 17:04:14 +0800 [thread overview]
Message-ID: <20150914090414.GB4475@pengc-linux.bj.intel.com> (raw)
In-Reply-To: <1442201227-8610-3-git-send-email-he.chen@linux.intel.com>
On Mon, Sep 14, 2015 at 11:27:05AM +0800, He Chen wrote:
> CDP extends CAT and provides the capacity to control L3 code & data
> cache. With CDP, one COS correspond to two CMBs(code & data). cbm_type
^s
> is added to support distinguish different CBM operation. Besides, new
^'support' can be ommitted. ^s
> domctl cmds are introdunced to support set/get CDP CBM. Some CAT
> functions to operation CBMs are extended to support CDP.
>
> Signed-off-by: He Chen <he.chen@linux.intel.com>
> +
> + /* If old cos is referred only by the domain, then use it. */
> + if ( map[old_cos].ref == 1 )
> + return old_cos;
> +
> + /* Find an unused one other than cos0 */
Missing stop.
> + for ( cos = 1; cos <= cos_max; cos++ )
> + if ( map[cos].ref == 0 )
> + return cos;
> +
> + return -ENOENT;
> +}
> +
> +int psr_set_l3_cbm(struct domain *d, unsigned int socket,
> + uint64_t cbm, enum cbm_type type)
> +{
> + unsigned int old_cos, cos_max;
> + int cos, ret;
> + uint64_t cbm_data, cbm_code;
> + bool_t need_write = 1;
> + bool_t cdp_enabled = test_bit(socket, cdp_socket_enable);
> + struct psr_cat_cbm *map;
> struct psr_cat_socket_info *info = get_cat_socket_info(socket);
>
> if ( IS_ERR(info) )
> @@ -381,53 +449,79 @@ int psr_set_l3_cbm(struct domain *d, unsigned int socket, uint64_t cbm)
> if ( !psr_check_cbm(info->cbm_len, cbm) )
> return -EINVAL;
>
> + if ( !cdp_enabled && (type == PSR_CBM_TYPE_L3_CODE ||
> + type == PSR_CBM_TYPE_L3_DATA) )
Nice code can be made by aligning PSR_CBM_TYPE_L3_DATA
with PSR_CBM_TYPE_L3_DATA.
> + return -EINVAL;
> +
> + cos_max = info->cos_max;
> old_cos = d->arch.psr_cos_ids[socket];
> map = info->cos_to_cbm;
>
> - spin_lock(&info->cbm_lock);
>
> - for ( cos = 0; cos <= info->cos_max; cos++ )
> + switch( type )
Coding style.
> + {
> + cos = pick_avail_cos(map, cos_max, old_cos);
> + if ( cos < 0 )
> + {
> + spin_unlock(&info->cbm_lock);
> + return cos;
> + }
> +
> + /* We try to avoid writing MSR */
Missing stop.
Overall it looks only some minor issues, with these being fixed, then
Reviewed-by: Chao peng <chao.p.peng@linux.intel.com>
Chao
next prev parent reply other threads:[~2015-09-14 9:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-14 3:27 [PATCH v3 0/4] Intel Code and Data Prioritization (CDP) feature enabling He Chen
2015-09-14 3:27 ` [PATCH v3 1/4] x86: Support enable CDP by boot parameter and add get CDP status He Chen
2015-09-14 8:39 ` Chao Peng
2015-09-14 14:12 ` Jan Beulich
2015-09-14 3:27 ` [PATCH v3 2/4] x86: add domctl cmd to set/get CDP code/data CBM He Chen
2015-09-14 9:04 ` Chao Peng [this message]
2015-09-14 14:28 ` Jan Beulich
2015-09-14 3:27 ` [PATCH v3 3/4] tools: add tools support for Intel CDP He Chen
2015-09-14 9:11 ` Chao Peng
2015-09-14 3:27 ` [PATCH v3 4/4] docs: add document to introduce CDP command He Chen
2015-09-14 9:35 ` Chao Peng
2015-09-14 9:48 ` [PATCH v3 0/4] Intel Code and Data Prioritization (CDP) feature enabling Chao Peng
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=20150914090414.GB4475@pengc-linux.bj.intel.com \
--to=chao.p.peng@linux.intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=he.chen@linux.intel.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.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;
as well as URLs for NNTP newsgroup(s).