|
Packit Service |
2212bb |
#ifndef _INCLUDE_GUARD_TYPES_H
|
|
Packit Service |
2212bb |
#define _INCLUDE_GUARD_TYPES_H
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
#include <glib.h>
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
#include "cpumask.h"
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
#define BALANCE_NONE 0
|
|
Packit Service |
2212bb |
#define BALANCE_PACKAGE 1
|
|
Packit Service |
2212bb |
#define BALANCE_CACHE 2
|
|
Packit Service |
2212bb |
#define BALANCE_CORE 3
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
/*
|
|
Packit Service |
2212bb |
* IRQ Classes
|
|
Packit Service |
2212bb |
*/
|
|
Packit Service |
2212bb |
#define IRQ_NODEF -1
|
|
Packit Service |
2212bb |
#define IRQ_OTHER 0
|
|
Packit Service |
2212bb |
#define IRQ_LEGACY 1
|
|
Packit Service |
2212bb |
#define IRQ_SCSI 2
|
|
Packit Service |
2212bb |
#define IRQ_VIDEO 3
|
|
Packit Service |
2212bb |
#define IRQ_ETH 4
|
|
Packit Service |
2212bb |
#define IRQ_GBETH 5
|
|
Packit Service |
2212bb |
#define IRQ_10GBETH 6
|
|
Packit Service |
2212bb |
#define IRQ_VIRT_EVENT 7
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
/*
|
|
Packit Service |
2212bb |
* IRQ Types
|
|
Packit Service |
2212bb |
*/
|
|
Packit Service |
2212bb |
#define IRQ_TYPE_LEGACY 0
|
|
Packit Service |
2212bb |
#define IRQ_TYPE_MSI 1
|
|
Packit Service |
2212bb |
#define IRQ_TYPE_MSIX 2
|
|
Packit Service |
2212bb |
#define IRQ_TYPE_VIRT_EVENT 3
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
/*
|
|
Packit Service |
2212bb |
* IRQ Internal tracking flags
|
|
Packit Service |
2212bb |
*/
|
|
Packit Service |
2212bb |
#define IRQ_FLAG_BANNED 1
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
enum obj_type_e {
|
|
Packit Service |
2212bb |
OBJ_TYPE_CPU,
|
|
Packit Service |
2212bb |
OBJ_TYPE_CACHE,
|
|
Packit Service |
2212bb |
OBJ_TYPE_PACKAGE,
|
|
Packit Service |
2212bb |
OBJ_TYPE_NODE
|
|
Packit Service |
2212bb |
};
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
struct topo_obj {
|
|
Packit Service |
2212bb |
uint64_t load;
|
|
Packit Service |
2212bb |
uint64_t last_load;
|
|
Packit Service |
2212bb |
uint64_t irq_count;
|
|
Packit Service |
2212bb |
enum obj_type_e obj_type;
|
|
Packit Service |
2212bb |
int number;
|
|
Packit Service |
2212bb |
int powersave_mode;
|
|
Packit Service |
2212bb |
cpumask_t mask;
|
|
Packit Service |
2212bb |
GList *interrupts;
|
|
Packit Service |
2212bb |
struct topo_obj *parent;
|
|
Packit Service |
2212bb |
GList *children;
|
|
Packit Service |
2212bb |
GList *numa_nodes;
|
|
Packit Service |
2212bb |
GList **obj_type_list;
|
|
Packit Service |
2212bb |
};
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
struct irq_info {
|
|
Packit Service |
2212bb |
int irq;
|
|
Packit Service |
2212bb |
int class;
|
|
Packit Service |
2212bb |
int type;
|
|
Packit Service |
2212bb |
int level;
|
|
Packit Service |
2212bb |
int flags;
|
|
Packit Service |
2212bb |
struct topo_obj *numa_node;
|
|
Packit Service |
2212bb |
cpumask_t cpumask;
|
|
Packit Service |
2212bb |
uint64_t irq_count;
|
|
Packit Service |
2212bb |
uint64_t last_irq_count;
|
|
Packit Service |
2212bb |
uint64_t load;
|
|
Packit Service |
2212bb |
int moved;
|
|
Packit Service |
2212bb |
struct topo_obj *assigned_obj;
|
|
Packit Service |
2212bb |
char *name;
|
|
Packit Service |
2212bb |
};
|
|
Packit Service |
2212bb |
|
|
Packit Service |
2212bb |
#endif
|