Lines Matching refs:name

89  * Evaluates to the byte offset of the per-cpu variable name.
91 #define __pcpu_offset(name) \
92 __offsetof(struct pcpu, name)
95 * Evaluates to the type of the per-cpu variable name.
97 #define __pcpu_type(name) \
98 __typeof(((struct pcpu *)0)->name)
101 * Evaluates to the address of the per-cpu variable name.
103 #define __PCPU_PTR(name) __extension__ ({ \
104 __pcpu_type(name) *__p; \
109 "i" (__pcpu_offset(name))); \
115 * Evaluates to the value of the per-cpu variable name.
117 #define __PCPU_GET(name) __extension__ ({ \
118 __pcpu_type(name) __res; \
120 u_char __b[MIN(sizeof(__pcpu_type(name)), 8)]; \
127 : "m" (*(struct __s *)(__pcpu_offset(name)))); \
130 __res = *__PCPU_PTR(name); \
136 * Adds the value to the per-cpu counter name. The implementation
139 #define __PCPU_ADD(name, val) do { \
140 __pcpu_type(name) __val; \
142 u_char __b[MIN(sizeof(__pcpu_type(name)), 8)]; \
150 : "=m" (*(struct __s *)(__pcpu_offset(name))) \
153 *__PCPU_PTR(name) += __val; \
157 * Increments the value of the per-cpu counter name. The implementation
160 #define __PCPU_INC(name) do { \
161 CTASSERT(sizeof(__pcpu_type(name)) == 1 || \
162 sizeof(__pcpu_type(name)) == 2 || \
163 sizeof(__pcpu_type(name)) == 4 || \
164 sizeof(__pcpu_type(name)) == 8); \
165 if (sizeof(__pcpu_type(name)) == 1) { \
167 : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
168 : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
169 } else if (sizeof(__pcpu_type(name)) == 2) { \
171 : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
172 : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
173 } else if (sizeof(__pcpu_type(name)) == 4) { \
175 : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
176 : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
177 } else if (sizeof(__pcpu_type(name)) == 8) { \
179 : "=m" (*(__pcpu_type(name) *)(__pcpu_offset(name)))\
180 : "m" (*(__pcpu_type(name) *)(__pcpu_offset(name))));\
185 * Sets the value of the per-cpu variable name to value val.
187 #define __PCPU_SET(name, val) { \
188 __pcpu_type(name) __val; \
190 u_char __b[MIN(sizeof(__pcpu_type(name)), 8)]; \
198 : "=m" (*(struct __s *)(__pcpu_offset(name))) \
201 *__PCPU_PTR(name) = __val; \