Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

birq / balance.h @ 4534af0a

History | View | Annotate | Download (586 Bytes)

1
#ifndef _balance_h
2
#define _balance_h
3

    
4
#include "lub/list.h"
5
#include "irq.h"
6
#include "cpu.h"
7

    
8
typedef enum {
9
        BIRQ_CHOOSE_MAX,
10
        BIRQ_CHOOSE_MIN,
11
        BIRQ_CHOOSE_RND
12
} birq_choose_strategy_e;
13

    
14
int remove_irq_from_cpu(irq_t *irq, cpu_t *cpu);
15
int move_irq_to_cpu(irq_t *irq, cpu_t *cpu);
16
int balance(lub_list_t *cpus, lub_list_t *balance_irqs,
17
        float load_limit, cpumask_t *exclude_cpus);
18
int apply_affinity(lub_list_t *balance_irqs);
19
int choose_irqs_to_move(lub_list_t *cpus, lub_list_t *balance_irqs,
20
        float threshold, birq_choose_strategy_e strategy,
21
        cpumask_t *exclude_cpus);
22

    
23
#endif