| .. | .. |
|---|
| 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 | |
|---|