hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
kernel/include/linux/percpu.h
....@@ -19,6 +19,35 @@
1919 #define PERCPU_MODULE_RESERVE 0
2020 #endif
2121
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
+
2251 /* minimum unit size, also is the maximum supported allocation size */
2352 #define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10)
2453