kernel: add functions to query the number of available/online CPUs
This commit is contained in:
@@ -39,6 +39,9 @@ extern bool cpu_is_online(unsigned int cpu_id);
|
|||||||
extern void cpu_set_available(unsigned int cpu_id);
|
extern void cpu_set_available(unsigned int cpu_id);
|
||||||
extern void cpu_set_online(unsigned int cpu_id);
|
extern void cpu_set_online(unsigned int cpu_id);
|
||||||
|
|
||||||
|
extern unsigned int cpu_nr_available(void);
|
||||||
|
extern unsigned int cpu_nr_online(void);
|
||||||
|
|
||||||
extern cycles_t get_cycles(void);
|
extern cycles_t get_cycles(void);
|
||||||
static inline cycles_t cycles_diff(cycles_t then, cycles_t now)
|
static inline cycles_t cycles_diff(cycles_t then, cycles_t now)
|
||||||
{
|
{
|
||||||
|
|||||||
10
kernel/cpu.c
10
kernel/cpu.c
@@ -58,6 +58,16 @@ void cpu_set_online(unsigned int cpu_id)
|
|||||||
bitmap_set(cpu_online, cpu_id);
|
bitmap_set(cpu_online, cpu_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned int cpu_nr_available(void)
|
||||||
|
{
|
||||||
|
return bitmap_count_set(cpu_available, CPU_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int cpu_nr_online(void)
|
||||||
|
{
|
||||||
|
return bitmap_count_set(cpu_online, CPU_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
void preempt_disable(void)
|
void preempt_disable(void)
|
||||||
{
|
{
|
||||||
ml_cpu_block *ml_cpu = ml_this_cpu();
|
ml_cpu_block *ml_cpu = ml_this_cpu();
|
||||||
|
|||||||
Reference in New Issue
Block a user