From mboxrd@z Thu Jan 1 00:00:00 1970 From: He Chen Subject: Re: [PATCH v4 3/4] tools: add tools support for Intel CDP Date: Fri, 25 Sep 2015 16:43:59 +0800 Message-ID: <20150925084359.GA12290@HE> References: <1442482536-12024-1-git-send-email-he.chen@linux.intel.com> <1442482536-12024-4-git-send-email-he.chen@linux.intel.com> <1443092847.10338.283.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZfObX-0003CD-6K for xen-devel@lists.xenproject.org; Fri, 25 Sep 2015 08:43:43 +0000 Content-Disposition: inline In-Reply-To: <1443092847.10338.283.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: wei.liu2@citrix.com, stefano.stabellini@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, chao.p.peng@linux.intel.com, xen-devel@lists.xenproject.org, keir@xen.org List-Id: xen-devel@lists.xenproject.org On Thu, Sep 24, 2015 at 12:07:27PM +0100, Ian Campbell wrote: > On Thu, 2015-09-17 at 17:35 +0800, He Chen wrote: > > @@ -8410,20 +8415,29 @@ static void psr_cat_print_one_domain_cbm(uint32_t > > domid, uint32_t socketid) > > printf("%5d%25s", domid, domain_name); > > free(domain_name); > > > > - if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_CBM, > > - socketid, &cbm)) > > - printf("%#16"PRIx64, cbm); > > - > > + if (!cdp_enabled) { > > + if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_CBM, > > + socketid, &cbm)) > > + printf("%#16"PRIx64, cbm); > > + } else { > > + if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_CODE, > > + socketid, &cbm)) > > + printf("%10s%#8"PRIx64, "code:", cbm); > > + if (!libxl_psr_cat_get_cbm(ctx, domid, LIBXL_PSR_CBM_TYPE_L3_DATA, > > + socketid, &cbm)) > > + printf("%10s%#8"PRIx64, "data:", cbm); > > + } > > Does cdp being enabled mean that the original L3_CBM functionality is no > longer available then? > > Please could you give an example of the new output format for this command > in the commit message. > For the get side, the answer is Yes. But for the set side, L3_CBM means that setting the same code CBM and data CBM when CDP is enabled. > > static int psr_cat_show(uint32_t domid) > > @@ -8489,6 +8503,8 @@ int main_psr_cat_cbm_set(int argc, char **argv) > > libxl_psr_cbm_type type = LIBXL_PSR_CBM_TYPE_L3_CBM; > > uint64_t cbm; > > int ret, opt = 0; > > + int opt_data = 0; > > + int opt_code = 0; > > libxl_bitmap target_map; > > char *value; > > libxl_string_list socket_list; > > > > [...] > > > @@ -8517,8 +8535,19 @@ int main_psr_cat_cbm_set(int argc, char **argv) > > libxl_string_list_dispose(&socket_list); > > free(value); > > break; > > + case 'd': > > + type = LIBXL_PSR_CBM_TYPE_L3_DATA; > > + opt_data = 1; > > + break; > > + case 'c': > > + type = LIBXL_PSR_CBM_TYPE_L3_CODE; > > + opt_code = 1; > > + break; > > } > > > > + if (opt_data && opt_code) > > Do you not mean !opt_data && !opt_code? > > But also, isn't this assignment unnecessary since type is initialised to > the same value when it is declared? > > In fact, because of that initialisation, aren't opt_data and opt_code > unnecessary, since you set type appropriately elsewhere. > > Are -d and -c mutually exclusive, or is it expected that both can be given? > -d and -c can be both given. The initialisation of type is L3_CBM, which corresponds to the situation that neither -d nor -c is given. I add `if (opt_data && opt_code)` to address the situation that -d and -c are both given. If user gives both -d and -c options, image that without if() statement, -d will be overwritten by the latter -c in switch, and type will be L3_CODE instead of L3_CBM (means set both and what user wants). I hope I had made myself clear, or is there something wrong with my understanding? Thanks. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel