.. | .. |
---|
19 | 19 | #define PERCPU_MODULE_RESERVE 0 |
---|
20 | 20 | #endif |
---|
21 | 21 | |
---|
| 22 | +#ifdef CONFIG_PREEMPT_RT_FULL |
---|
| 23 | + |
---|
| 24 | +#define get_local_var(var) (*({ \ |
---|
| 25 | + migrate_disable(); \ |
---|
| 26 | + this_cpu_ptr(&var); })) |
---|
| 27 | + |
---|
| 28 | +#define put_local_var(var) do { \ |
---|
| 29 | + (void)&(var); \ |
---|
| 30 | + migrate_enable(); \ |
---|
| 31 | +} while (0) |
---|
| 32 | + |
---|
| 33 | +# define get_local_ptr(var) ({ \ |
---|
| 34 | + migrate_disable(); \ |
---|
| 35 | + this_cpu_ptr(var); }) |
---|
| 36 | + |
---|
| 37 | +# define put_local_ptr(var) do { \ |
---|
| 38 | + (void)(var); \ |
---|
| 39 | + migrate_enable(); \ |
---|
| 40 | +} while (0) |
---|
| 41 | + |
---|
| 42 | +#else |
---|
| 43 | + |
---|
| 44 | +#define get_local_var(var) get_cpu_var(var) |
---|
| 45 | +#define put_local_var(var) put_cpu_var(var) |
---|
| 46 | +#define get_local_ptr(var) get_cpu_ptr(var) |
---|
| 47 | +#define put_local_ptr(var) put_cpu_ptr(var) |
---|
| 48 | + |
---|
| 49 | +#endif |
---|
| 50 | + |
---|
22 | 51 | /* minimum unit size, also is the maximum supported allocation size */ |
---|
23 | 52 | #define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10) |
---|
24 | 53 | |
---|