1234567891011121314151617181920212223 |
- #ifndef _balance_h
- #define _balance_h
- #include "lub/list.h"
- #include "irq.h"
- #include "cpu.h"
- typedef enum {
- BIRQ_CHOOSE_MAX,
- BIRQ_CHOOSE_MIN,
- BIRQ_CHOOSE_RND
- } birq_choose_strategy_e;
- int remove_irq_from_cpu(irq_t *irq, cpu_t *cpu);
- int move_irq_to_cpu(irq_t *irq, cpu_t *cpu);
- int balance(lub_list_t *cpus, lub_list_t *balance_irqs,
- float load_limit, cpumask_t *exclude_cpus, int non_local_cpus);
- int apply_affinity(lub_list_t *balance_irqs);
- int choose_irqs_to_move(lub_list_t *cpus, lub_list_t *balance_irqs,
- float threshold, birq_choose_strategy_e strategy,
- cpumask_t *exclude_cpus);
- #endif
|