Skip to contentSkip to conversation

tools: remove unnecessary PSR macros

PATCH In review Yi Sun 3 participants 17 messages Aug 31, 2017 – Sep 4, 2017

lore
Share & tools
lore

Yi Sun

author
#0 lore raw

PATCH 2/2 tools: remove unnecessary PSR macros

Per Roger Pau's coment, 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.

---
 tools/libxl/libxl.h    | 6 ------
 tools/xl/xl_cmdtable.c | 5 -----
 tools/xl/xl_psr.c      | 5 -----
 3 files changed, 16 deletions(-)
tools/libxl/libxl.h +0 -6
index 229e289..a0185b9 100644
@@ -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 */
 
tools/xl/xl_cmdtable.c +0 -5
index 2c71a9f..045f640 100644
@@ -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",
tools/xl/xl_psr.c +0 -5
index 7309d4f..544f6f0 100644
@@ -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
Signature · 7 lines
1.9.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
Reviewed-by on v1 2/2
#1 lore raw
Quoted 3 lines · Yi Sun

Per Roger Pau's coment, 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.

No need to mention me in the commit message, just add a:

Quoted 1 line

Thanks.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#2 lore raw

PATCH 1/1 tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

In reply to Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

---
- This patch depends on patch 'tools: remove unnecessary PSR macros'.

---
 tools/libxl/libxl.h     | 2 +-
 tools/libxl/libxl_psr.c | 6 ++++--
 tools/xl/xl_psr.c       | 9 ++++-----
 3 files changed, 9 insertions(+), 8 deletions(-)
tools/libxl/libxl.h +1 -1
index a0185b9..0c90c41 100644
@@ -2210,7 +2210,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
  * and the length in 'nr'.
  */
 int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
-                           int *nr, unsigned int lvl);
+                           unsigned int *nr, unsigned int lvl);
 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);
tools/libxl/libxl_psr.c +4 -2
index f55ba1e..7366481 100644
@@ -362,7 +362,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
 }
 
 int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
-                           int *nr, unsigned int lvl)
+                           unsigned int *nr, unsigned int lvl)
 {
     GC_INIT(ctx);
     int rc;
@@ -410,8 +410,10 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
                               int *nr)
 {
     int rc;
+    unsigned int num;
 
-    rc = libxl_psr_cat_get_info(ctx, info, nr, 3);
+    rc = libxl_psr_cat_get_info(ctx, info, &num, 3);
+    *nr = num;
 
     return rc;
 }
tools/xl/xl_psr.c +4 -5
index 544f6f0..ef00048 100644
@@ -294,8 +294,8 @@ int main_psr_cmt_show(int argc, char **argv)
 
 static int psr_l3_cat_hwinfo(void)
 {
-    int rc, nr;
-    unsigned int i;
+    int rc;
+    unsigned int i, nr;
     uint32_t l3_cache_size;
     libxl_psr_cat_info *info;
 
@@ -424,7 +424,7 @@ static int psr_cat_print_socket(uint32_t domid, libxl_psr_cat_info *info,
 
 static int psr_cat_show(uint32_t domid, unsigned int lvl)
 {
-    int i, nr;
+    unsigned int i, nr;
     int rc;
     libxl_psr_cat_info *info;
 
@@ -453,8 +453,7 @@ out:
 static int psr_l2_cat_hwinfo(void)
 {
     int rc;
-    unsigned int i;
-    int nr;
+    unsigned int i, nr;
     libxl_psr_cat_info *info;
 
     rc = libxl_psr_cat_get_info(ctx, &info, &nr, 2);
Signature · 7 lines
1.9.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
#3 lore raw

Re: [PATCH] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

tools/libxl/libxl_psr.c int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info, · line 415

Quoted 8 lines · Yi Sun
tools/libxl/libxl_psr.c +2 -1
@@ -410,8 +410,10 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
                               int *nr)
 {
     int rc;
+    unsigned int num;
 
-    rc = libxl_psr_cat_get_info(ctx, info, nr, 3);
+    rc = libxl_psr_cat_get_info(ctx, info, &num, 3);

In order to avoid leaking stack data, I would rather do:

if (!rc)

    *nr = num;

The rest LGTM.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

#4 lore raw

Re: [PATCH] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

In reply to Yi Sun
Quoted 6 lines · Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

Please say in the commit message that this is OK because the function in question is never released.

Otherwise you need to define a LIBXL_HAVE

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#5 lore raw

PATCH v2 1/1 tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

In reply to Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

---
- This patch depends on patch 'tools: remove unnecessary PSR macros'.
v2:
- assign 'num' to '*nr' if return value is success. (suggested by Roger Pau Monné)

---
 tools/libxl/libxl.h     | 2 +-
 tools/libxl/libxl_psr.c | 7 +++++--
 tools/xl/xl_psr.c       | 9 ++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)
tools/libxl/libxl.h +1 -1
index a0185b9..0c90c41 100644
@@ -2210,7 +2210,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
  * and the length in 'nr'.
  */
 int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
-                           int *nr, unsigned int lvl);
+                           unsigned int *nr, unsigned int lvl);
 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);
tools/libxl/libxl_psr.c +5 -2
index f55ba1e..197505a 100644
@@ -362,7 +362,7 @@ int libxl_psr_cat_get_cbm(libxl_ctx *ctx, uint32_t domid,
 }
 
 int libxl_psr_cat_get_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
-                           int *nr, unsigned int lvl)
+                           unsigned int *nr, unsigned int lvl)
 {
     GC_INIT(ctx);
     int rc;
@@ -410,8 +410,11 @@ int libxl_psr_cat_get_l3_info(libxl_ctx *ctx, libxl_psr_cat_info **info,
                               int *nr)
 {
     int rc;
+    unsigned int num;
 
-    rc = libxl_psr_cat_get_info(ctx, info, nr, 3);
+    rc = libxl_psr_cat_get_info(ctx, info, &num, 3);
+    if (!rc)
+        *nr = num;
 
     return rc;
 }
tools/xl/xl_psr.c +4 -5
index 544f6f0..ef00048 100644
@@ -294,8 +294,8 @@ int main_psr_cmt_show(int argc, char **argv)
 
 static int psr_l3_cat_hwinfo(void)
 {
-    int rc, nr;
-    unsigned int i;
+    int rc;
+    unsigned int i, nr;
     uint32_t l3_cache_size;
     libxl_psr_cat_info *info;
 
@@ -424,7 +424,7 @@ static int psr_cat_print_socket(uint32_t domid, libxl_psr_cat_info *info,
 
 static int psr_cat_show(uint32_t domid, unsigned int lvl)
 {
-    int i, nr;
+    unsigned int i, nr;
     int rc;
     libxl_psr_cat_info *info;
 
@@ -453,8 +453,7 @@ out:
 static int psr_l2_cat_hwinfo(void)
 {
     int rc;
-    unsigned int i;
-    int nr;
+    unsigned int i, nr;
     libxl_psr_cat_info *info;
 
     rc = libxl_psr_cat_get_info(ctx, &info, &nr, 2);
Signature · 7 lines
1.9.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
Reviewed-by on v2 1/1
#6 lore raw

Re: [PATCH v2] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

Quoted 6 lines · Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

Thanks, Roger.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

Acked-by on v2 1/1
#7 lore raw

Re: [PATCH v2] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

In reply to Yi Sun
Quoted 6 lines · Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

If you confirm the code changed is not released I can modify the commit message while committing -- no need to resend.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#8 lore raw

Re: [PATCH v2] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

Quoted 5 lines · Wei Liu
Quoted 4 lines · Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

Quoted 7 lines
Quoted 2 lines

If you confirm the code changed is not released I can modify the commit message while committing -- no need to resend.

Thank you! Yes, the 'libxl_psr_cat_get_info' is introduced by L2 CAT patch set which was merged into Xen 4.10 unstable branch recently. So, it has not been released yet.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

#9 lore raw

Re: [PATCH v2] tools: change the type of '*nr' in 'libxl_psr_cat_get_info'

In reply to Yi Sun
Quoted 8 lines · Yi Sun

Due to historical reason, type of parameter '*nr' in 'libxl_psr_cat_get_info' is 'int'. But this is not right. It should be 'unsigned int'. This patch fixes this and does related changes.

---
- This patch depends on patch 'tools: remove unnecessary PSR macros'.

I suppose you want to resend this patch because its dependence should be dropped?

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#11 lore raw
Quoted 10 lines · Wei Liu
Quoted 5 lines · Yi Sun

Per Roger Pau's coment, 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.

(without reading the patch)

Sorry that I missed the removal in xl.h. V2 patch is sent out. Please review. Thanks!

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#12 lore raw

PATCH v2 1/1 tools: remove unnecessary PSR macros

In reply to Yi Sun

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.

---
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(-)
tools/libxl/libxl.h +0 -6
index 229e289..a0185b9 100644
@@ -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 */
 
tools/xl/xl.h +0 -4
index aa95b77..67d6f37 100644
@@ -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);
tools/xl/xl_cmdtable.c +0 -5
index 2c71a9f..045f640 100644
@@ -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",
tools/xl/xl_psr.c +0 -5
index 7309d4f..544f6f0 100644
@@ -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
Signature · 7 lines
1.9.1


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel
#13 lore raw
Quoted 5 lines · Yi Sun

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.

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.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

author
#14 lore raw
Quoted 7 lines · Wei Liu
Quoted 5 lines · Yi Sun

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.

Quoted 7 lines

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?

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

#15 lore raw
Quoted 10 lines · Yi Sun
Quoted 9 lines · Wei Liu
Quoted 5 lines · Yi Sun

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.

Thinking about this a bit more, it is not that simple.

Quoted 8 lines
Quoted 5 lines

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.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel

#16 lore raw
In reply to Wei Liu
Quoted 7 lines · Wei Liu
Quoted 5 lines · Yi Sun

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.

Quoted 7 lines

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.

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel