diff mbox

[v2] tools: remove unnecessary PSR macros

Message ID 1504494536-52985-1-git-send-email-yi.y.sun@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Yi Sun Sept. 4, 2017, 3:08 a.m. UTC
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(-)

Comments

Wei Liu Sept. 4, 2017, 8:49 a.m. UTC | #1
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.
Yi Sun Sept. 4, 2017, 9:10 a.m. UTC | #2
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?
Wei Liu Sept. 4, 2017, 9:13 a.m. UTC | #3
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.
Roger Pau Monné Sept. 4, 2017, 9:14 a.m. UTC | #4
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 mbox

Patch

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