|
29 | 29 | typedef typeof(pcp) pcp_op_T__; \
|
30 | 30 | pcp_op_T__ old__, new__, prev__; \
|
31 | 31 | pcp_op_T__ *ptr__; \
|
32 |
| - preempt_disable(); \ |
| 32 | + preempt_disable_notrace(); \ |
33 | 33 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
34 | 34 | prev__ = *ptr__; \
|
35 | 35 | do { \
|
36 | 36 | old__ = prev__; \
|
37 | 37 | new__ = old__ op (val); \
|
38 | 38 | prev__ = cmpxchg(ptr__, old__, new__); \
|
39 | 39 | } while (prev__ != old__); \
|
40 |
| - preempt_enable(); \ |
| 40 | + preempt_enable_notrace(); \ |
41 | 41 | new__; \
|
42 | 42 | })
|
43 | 43 |
|
|
68 | 68 | typedef typeof(pcp) pcp_op_T__; \
|
69 | 69 | pcp_op_T__ val__ = (val); \
|
70 | 70 | pcp_op_T__ old__, *ptr__; \
|
71 |
| - preempt_disable(); \ |
| 71 | + preempt_disable_notrace(); \ |
72 | 72 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
73 | 73 | if (__builtin_constant_p(val__) && \
|
74 | 74 | ((szcast)val__ > -129) && ((szcast)val__ < 128)) { \
|
|
84 | 84 | : [val__] "d" (val__) \
|
85 | 85 | : "cc"); \
|
86 | 86 | } \
|
87 |
| - preempt_enable(); \ |
| 87 | + preempt_enable_notrace(); \ |
88 | 88 | }
|
89 | 89 |
|
90 | 90 | #define this_cpu_add_4(pcp, val) arch_this_cpu_add(pcp, val, "laa", "asi", int)
|
|
95 | 95 | typedef typeof(pcp) pcp_op_T__; \
|
96 | 96 | pcp_op_T__ val__ = (val); \
|
97 | 97 | pcp_op_T__ old__, *ptr__; \
|
98 |
| - preempt_disable(); \ |
| 98 | + preempt_disable_notrace(); \ |
99 | 99 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
100 | 100 | asm volatile( \
|
101 | 101 | op " %[old__],%[val__],%[ptr__]\n" \
|
102 | 102 | : [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \
|
103 | 103 | : [val__] "d" (val__) \
|
104 | 104 | : "cc"); \
|
105 |
| - preempt_enable(); \ |
| 105 | + preempt_enable_notrace(); \ |
106 | 106 | old__ + val__; \
|
107 | 107 | })
|
108 | 108 |
|
|
114 | 114 | typedef typeof(pcp) pcp_op_T__; \
|
115 | 115 | pcp_op_T__ val__ = (val); \
|
116 | 116 | pcp_op_T__ old__, *ptr__; \
|
117 |
| - preempt_disable(); \ |
| 117 | + preempt_disable_notrace(); \ |
118 | 118 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
119 | 119 | asm volatile( \
|
120 | 120 | op " %[old__],%[val__],%[ptr__]\n" \
|
121 | 121 | : [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \
|
122 | 122 | : [val__] "d" (val__) \
|
123 | 123 | : "cc"); \
|
124 |
| - preempt_enable(); \ |
| 124 | + preempt_enable_notrace(); \ |
125 | 125 | }
|
126 | 126 |
|
127 | 127 | #define this_cpu_and_4(pcp, val) arch_this_cpu_to_op(pcp, val, "lan")
|
|
136 | 136 | typedef typeof(pcp) pcp_op_T__; \
|
137 | 137 | pcp_op_T__ ret__; \
|
138 | 138 | pcp_op_T__ *ptr__; \
|
139 |
| - preempt_disable(); \ |
| 139 | + preempt_disable_notrace(); \ |
140 | 140 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
141 | 141 | ret__ = cmpxchg(ptr__, oval, nval); \
|
142 |
| - preempt_enable(); \ |
| 142 | + preempt_enable_notrace(); \ |
143 | 143 | ret__; \
|
144 | 144 | })
|
145 | 145 |
|
|
152 | 152 | ({ \
|
153 | 153 | typeof(pcp) *ptr__; \
|
154 | 154 | typeof(pcp) ret__; \
|
155 |
| - preempt_disable(); \ |
| 155 | + preempt_disable_notrace(); \ |
156 | 156 | ptr__ = raw_cpu_ptr(&(pcp)); \
|
157 | 157 | ret__ = xchg(ptr__, nval); \
|
158 |
| - preempt_enable(); \ |
| 158 | + preempt_enable_notrace(); \ |
159 | 159 | ret__; \
|
160 | 160 | })
|
161 | 161 |
|
|
171 | 171 | typeof(pcp1) *p1__; \
|
172 | 172 | typeof(pcp2) *p2__; \
|
173 | 173 | int ret__; \
|
174 |
| - preempt_disable(); \ |
| 174 | + preempt_disable_notrace(); \ |
175 | 175 | p1__ = raw_cpu_ptr(&(pcp1)); \
|
176 | 176 | p2__ = raw_cpu_ptr(&(pcp2)); \
|
177 | 177 | ret__ = __cmpxchg_double(p1__, p2__, o1__, o2__, n1__, n2__); \
|
178 |
| - preempt_enable(); \ |
| 178 | + preempt_enable_notrace(); \ |
179 | 179 | ret__; \
|
180 | 180 | })
|
181 | 181 |
|
|
0 commit comments