Files
mango/include/socks/percpu.h

37 lines
645 B
C
Raw Normal View History

#ifndef SOCKS_PERCPU_H_
#define SOCKS_PERCPU_H_
#include <socks/status.h>
#include <socks/compiler.h>
#include <socks/sched.h>
2023-03-20 20:41:39 +00:00
#ifdef __cplusplus
extern "C" {
#endif
#define DEFINE_PERCPU_VAR(type, name) \
__section(".data.percpu") type name
#define percpu_get(var) \
__extension__({ \
preempt_disable(); \
__percpu_get(this_cpu(), var); \
})
#define percpu_get_from(cpu, var) \
__extension__({ \
preempt_disable(); \
__percpu_get(cpu, var); \
})
#define percpu_put(var) preempt_enable();
extern kern_status_t init_per_cpu_areas(void);
extern void *__percpu_get(unsigned int cpu, void *var);
2023-03-20 20:41:39 +00:00
#ifdef __cplusplus
}
#endif
#endif