]> granicus.if.org Git - sysstat/blobdiff - mpstat.h
Update non regression tests
[sysstat] / mpstat.h
index c817e645592ee99ba256215012ee93be00e06af8..c647c4d5541448b5f9e4e982a6e3ac37eee81ea6 100644 (file)
--- a/mpstat.h
+++ b/mpstat.h
@@ -1,18 +1,23 @@
 /*
  * mpstat: per-processor statistics
- * (C) 2000-2015 by Sebastien Godard (sysstat <at> orange.fr)
+ * (C) 2000-2023 by Sebastien Godard (sysstat <at> orange.fr)
  */
 
 #ifndef _MPSTAT_H
 #define _MPSTAT_H
 
+#include "common.h"
+#include "rd_stats.h"
+
 /*
  ***************************************************************************
  * mpstat's specific system files.
  ***************************************************************************
  */
 
-#define SOFTIRQS       "/proc/softirqs"
+#define SOFTIRQS       PRE "/proc/softirqs"
+#define PHYS_PACK_ID   "topology/physical_package_id"
+#define THREAD_SBL_LST "topology/thread_siblings_list"
 
 /*
  ***************************************************************************
 #define M_D_IRQ_SUM    0x0002
 #define M_D_IRQ_CPU    0x0004
 #define M_D_SOFTIRQS   0x0008
+#define M_D_NODE       0x0010
 
 #define DISPLAY_CPU(m)         (((m) & M_D_CPU) == M_D_CPU)
 #define DISPLAY_IRQ_SUM(m)     (((m) & M_D_IRQ_SUM) == M_D_IRQ_SUM)
 #define DISPLAY_IRQ_CPU(m)     (((m) & M_D_IRQ_CPU) == M_D_IRQ_CPU)
 #define DISPLAY_SOFTIRQS(m)    (((m) & M_D_SOFTIRQS) == M_D_SOFTIRQS)
+#define DISPLAY_NODE(m)                (((m) & M_D_NODE) == M_D_NODE)
 
 /*
  ***************************************************************************
  */
 
 /* Indicate that option -P has been used */
-#define F_P_OPTION     0x01
-/* Indicate that stats should be displayed on for online CPU ("-P ON") */
-#define F_P_ON         0x02
-
-#define USE_P_OPTION(m)                (((m) & F_P_OPTION) == F_P_OPTION)
-#define DISPLAY_ONLINE_CPU(m)  (((m) & F_P_ON) == F_P_ON)
+#define F_OPTION_P     0x01
+/* Indicate that option -A has been used */
+#define F_OPTION_A     0x02
+/* JSON output */
+#define F_JSON_OUTPUT  0x04
+/* Indicate that option -N has been used */
+#define F_OPTION_N     0x08
+/* Display topology */
+#define F_TOPOLOGY     0x10
+/* Indicate that option -H has been used */
+#define F_OPTION_H     0x20
+
+#define USE_OPTION_P(m)                (((m) & F_OPTION_P) == F_OPTION_P)
+#define USE_OPTION_A(m)                (((m) & F_OPTION_A) == F_OPTION_A)
+#define DISPLAY_JSON_OUTPUT(m) (((m) & F_JSON_OUTPUT) == F_JSON_OUTPUT)
+#define USE_OPTION_N(m)                (((m) & F_OPTION_N) == F_OPTION_N)
+#define DISPLAY_TOPOLOGY(m)    (((m) & F_TOPOLOGY) == F_TOPOLOGY)
+#define USE_OPTION_H(m)                (((m) & F_OPTION_H) == F_OPTION_H)
 
 #define K_SUM  "SUM"
 #define K_CPU  "CPU"
 #define K_SCPU "SCPU"
-#define K_ON   "ON"
 
 #define NR_IRQCPU_PREALLOC     3
 
  */
 
 /*
- * stats_irqcpu->irq:       IRQ#-A
+ * stats_irqcpu->irq_name:  IRQ#-A
  * stats_irqcpu->interrupt: number of IRQ#-A for proc 0
- * stats_irqcpu->irq:       IRQ#-B
+ * stats_irqcpu->irq_name:  IRQ#-B
  * stats_irqcpu->interrupt: number of IRQ#-B for proc 0
  * ...
- * stats_irqcpu->irq:       (undef'd)
+ * stats_irqcpu->irq_name:  (undef'd)
  * stats_irqcpu->interrupt: number of IRQ#-A for proc 1
- * stats_irqcpu->irq:       (undef'd)
+ * stats_irqcpu->irq_name:  (undef'd)
  * stats_irqcpu->interrupt: number of IRQ#-B for proc 1
  * ...
  */
 struct stats_irqcpu {
-       unsigned int interrupt        __attribute__ ((aligned (4)));
+       unsigned int interrupt;
        char         irq_name[MAX_IRQ_LEN];
 };
 
 #define STATS_IRQCPU_SIZE      (sizeof(struct stats_irqcpu))
 
+struct stats_global_irq {
+       unsigned long long irq_nr;
+};
+
+#define STATS_GLOBAL_IRQ_SIZE  (sizeof(struct stats_global_irq))
+
+struct cpu_topology {
+       int phys_package_id;
+       int logical_core_id;
+};
+
 #endif