Message ID | 1504494536-52985-1-git-send-email-yi.y.sun@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Sep 04, 2017 at 11:08:56AM +0800, Yi Sun wrote: > The libxl interfaces and related functions are not necessary to be included by > 'LIBXL_HAVE_PSR_CMT' and 'LIBXL_HAVE_PSR_CAT'. So remove them. > > Suggested-by: Roger Pau Monné <roger.pau@citrix.com> > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> Thinking about this a bit more, it is not that simple. LIBXL_HAVE_PSR_CMT is enclosed by __i386__ and __x86_64__, libxl_psr.o is only built on x86. I'm afraid we do need these macros in libxl and xl otherwise arm build is going to be broken.
On 17-09-04 09:49:40, Wei Liu wrote: > On Mon, Sep 04, 2017 at 11:08:56AM +0800, Yi Sun wrote: > > The libxl interfaces and related functions are not necessary to be included by > > 'LIBXL_HAVE_PSR_CMT' and 'LIBXL_HAVE_PSR_CAT'. So remove them. > > > > Suggested-by: Roger Pau Monn? <roger.pau@citrix.com> > > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> > > Thinking about this a bit more, it is not that simple. > > LIBXL_HAVE_PSR_CMT is enclosed by __i386__ and __x86_64__, libxl_psr.o > is only built on x86. > > I'm afraid we do need these macros in libxl and xl otherwise arm build > is going to be broken. Good point. Shall we use '#if defined(__i386__) || defined(__x86_64__)' to include all PSR interfaces?
On Mon, Sep 04, 2017 at 05:10:21PM +0800, Yi Sun wrote: > On 17-09-04 09:49:40, Wei Liu wrote: > > On Mon, Sep 04, 2017 at 11:08:56AM +0800, Yi Sun wrote: > > > The libxl interfaces and related functions are not necessary to be included by > > > 'LIBXL_HAVE_PSR_CMT' and 'LIBXL_HAVE_PSR_CAT'. So remove them. > > > > > > Suggested-by: Roger Pau Monn? <roger.pau@citrix.com> > > > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> > > > > Thinking about this a bit more, it is not that simple. > > > > LIBXL_HAVE_PSR_CMT is enclosed by __i386__ and __x86_64__, libxl_psr.o > > is only built on x86. > > > > I'm afraid we do need these macros in libxl and xl otherwise arm build > > is going to be broken. > > Good point. Shall we use '#if defined(__i386__) || defined(__x86_64__)' to > include all PSR interfaces? Yes. There is no arm counterpart as far as I can tell.
On Mon, Sep 04, 2017 at 09:49:40AM +0100, Wei Liu wrote: > On Mon, Sep 04, 2017 at 11:08:56AM +0800, Yi Sun wrote: > > The libxl interfaces and related functions are not necessary to be included by > > 'LIBXL_HAVE_PSR_CMT' and 'LIBXL_HAVE_PSR_CAT'. So remove them. > > > > Suggested-by: Roger Pau Monné <roger.pau@citrix.com> > > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> > > Thinking about this a bit more, it is not that simple. > > LIBXL_HAVE_PSR_CMT is enclosed by __i386__ and __x86_64__, libxl_psr.o > is only built on x86. > > I'm afraid we do need these macros in libxl and xl otherwise arm build > is going to be broken. OK, I though ARM would have it's own empty stubs. Maybe it would be cleaner to simply don't compile xl_psr on ARM, rather than having a bunch of defines in the file which basically renders it empty when compiled on ARM. In any case, this would not be much better than what we have now, so I guess we should leave it as-is. Sorry for the miss-guidance. Thanks, Roger.
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index 229e289..a0185b9 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -2166,7 +2166,6 @@ bool libxl_ms_vm_genid_is_zero(const libxl_ms_vm_genid *id); void libxl_ms_vm_genid_copy(libxl_ctx *ctx, libxl_ms_vm_genid *dst, const libxl_ms_vm_genid *src); -#ifdef LIBXL_HAVE_PSR_CMT int libxl_psr_cmt_attach(libxl_ctx *ctx, uint32_t domid); int libxl_psr_cmt_detach(libxl_ctx *ctx, uint32_t domid); int libxl_psr_cmt_domain_attached(libxl_ctx *ctx, uint32_t domid); @@ -2179,9 +2178,7 @@ int libxl_psr_cmt_get_cache_occupancy(libxl_ctx *ctx, uint32_t domid, uint32_t socketid, uint32_t *l3_cache_occupancy); -#endif -#ifdef LIBXL_HAVE_PSR_MBM int libxl_psr_cmt_type_supported(libxl_ctx *ctx, libxl_psr_cmt_type type); int libxl_psr_cmt_get_sample(libxl_ctx *ctx, uint32_t domid, @@ -2189,9 +2186,7 @@ int libxl_psr_cmt_get_sample(libxl_ctx *ctx, uint64_t scope, uint64_t *sample_r, uint64_t *tsc_r); -#endif -#ifdef LIBXL_HAVE_PSR_CAT /* * Function to set a domain's cbm. It operates on a single or multiple * target(s) defined in 'target_map'. The definition of 'target_map' is @@ -2219,7 +2214,6 @@ int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info, int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info, int *nr); void libxl_psr_cat_info_list_free(libxl_psr_cat_info *list, int nr); -#endif /* misc */ diff --git a/tools/xl/xl.h b/tools/xl/xl.h index aa95b77..67d6f37 100644 --- a/tools/xl/xl.h +++ b/tools/xl/xl.h @@ -197,16 +197,12 @@ int main_loadpolicy(int argc, char **argv); int main_remus(int argc, char **argv); #endif int main_devd(int argc, char **argv); -#ifdef LIBXL_HAVE_PSR_CMT int main_psr_hwinfo(int argc, char **argv); int main_psr_cmt_attach(int argc, char **argv); int main_psr_cmt_detach(int argc, char **argv); int main_psr_cmt_show(int argc, char **argv); -#endif -#ifdef LIBXL_HAVE_PSR_CAT int main_psr_cat_cbm_set(int argc, char **argv); int main_psr_cat_show(int argc, char **argv); -#endif int main_qemu_monitor_command(int argc, char **argv); void help(const char *command); diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c index 2c71a9f..045f640 100644 --- a/tools/xl/xl_cmdtable.c +++ b/tools/xl/xl_cmdtable.c @@ -517,7 +517,6 @@ struct cmd_spec cmd_table[] = { "-F Run in the foreground.\n" "-p, --pidfile [FILE] Write PID to pidfile when daemonizing.", }, -#ifdef LIBXL_HAVE_PSR_CMT { "psr-hwinfo", &main_psr_hwinfo, 0, 1, "Show hardware information for Platform Shared Resource", @@ -544,8 +543,6 @@ struct cmd_spec cmd_table[] = { "\"total-mem-bandwidth\": Show total memory bandwidth(KB/s)\n" "\"local-mem-bandwidth\": Show local memory bandwidth(KB/s)\n", }, -#endif -#ifdef LIBXL_HAVE_PSR_CAT { "psr-cat-set", &main_psr_cat_cbm_set, 0, 1, "Set cache capacity bitmasks(CBM) for a domain", @@ -561,8 +558,6 @@ struct cmd_spec cmd_table[] = { "[options] <Domain>", "-l <level> Specify the cache level to process, otherwise L3 cache is processed\n" }, - -#endif { "usbctrl-attach", &main_usbctrl_attach, 0, 1, "Create a virtual USB controller for a domain", diff --git a/tools/xl/xl_psr.c b/tools/xl/xl_psr.c index 7309d4f..544f6f0 100644 --- a/tools/xl/xl_psr.c +++ b/tools/xl/xl_psr.c @@ -25,7 +25,6 @@ #include "xl_utils.h" #include "xl_parse.h" -#ifdef LIBXL_HAVE_PSR_CMT static int psr_cmt_hwinfo(void) { int rc; @@ -292,9 +291,7 @@ int main_psr_cmt_show(int argc, char **argv) return ret; } -#endif -#if defined(LIBXL_HAVE_PSR_CAT) || defined(LIBXL_HAVE_PSR_L2_CAT) static int psr_l3_cat_hwinfo(void) { int rc, nr; @@ -626,8 +623,6 @@ int main_psr_hwinfo(int argc, char **argv) return ret; } -#endif - /* * Local variables: * mode: C
The libxl interfaces and related functions are not necessary to be included by 'LIBXL_HAVE_PSR_CMT' and 'LIBXL_HAVE_PSR_CAT'. So remove them. Suggested-by: Roger Pau Monné <roger.pau@citrix.com> Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com> --- v2: - remove the macros in xl.h. --- tools/libxl/libxl.h | 6 ------ tools/xl/xl.h | 4 ---- tools/xl/xl_cmdtable.c | 5 ----- tools/xl/xl_psr.c | 5 ----- 4 files changed, 20 deletions(-)