/*
* mpstat: per-processor statistics
- * (C) 2000-2020 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"
/*
***************************************************************************
*/
#define SOFTIRQS PRE "/proc/softirqs"
-#define PHYS_PACK_ID "topology/pysical_package_id"
+#define PHYS_PACK_ID "topology/physical_package_id"
#define THREAD_SBL_LST "topology/thread_siblings_list"
/*
#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"
* ...
*/
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;
};
-#define STATS_IRQCPU_SIZE (sizeof(struct stats_irqcpu))
-
#endif