Lines Matching full:sema

14  *          USDT_WITH_EXPLICIT_SEMA(sema, group, name, args...)
15 * USDT_SEMA_IS_ACTIVE(sema)
208 * `sema` identifier. Could be useful for debugging, but normally shouldn't be
211 #define USDT_SEMA(sema) __usdt_sema_##sema
214 * Define storage for user-defined USDT semaphore `sema`.
221 * one definition of user-defined USDT semaphore with given `sema` identifier,
247 #define USDT_DEFINE_SEMA(sema) \
248 struct usdt_sema __usdt_sema_sec USDT_SEMA(sema) \
249 __usdt_asm_name(USDT_SEMA(sema)) \
253 * Declare extern reference to user-defined USDT semaphore `sema`.
261 #define USDT_DECLARE_SEMA(sema) \
262 extern struct usdt_sema USDT_SEMA(sema) __usdt_asm_name(USDT_SEMA(sema))
265 * Check if user-defined USDT semaphore `sema` is "active" (i.e., whether it
270 * information into USDT(s) associated with USDT semaphore `sema`.
279 #define USDT_SEMA_IS_ACTIVE(sema) (USDT_SEMA(sema).active > 0)
283 * explicitly user-defined semaphore `sema` with it. Pass through `args` as
290 #define USDT_WITH_EXPLICIT_SEMA(sema, group, name, ...) \
291 __usdt_probe(group, name, __usdt_sema_explicit, USDT_SEMA(sema), ##__VA_ARGS__)
293 #define USDT_WITH_EXPLICIT_SEMA(sema, group, name, ...) \
294 __usdt_probe(group, name, __usdt_sema_explicit, USDT_SEMA(sema) __VA_OPT__(,) __VA_ARGS__)
381 #define __usdt_sema_none(sema)
386 #define __usdt_sema_implicit(sema) \
388 __usdt_asm1(.ifndef sema) \
390 __usdt_asm1( .weak sema) \
391 __usdt_asm1( .hidden sema) \
393 __usdt_asm1(sema:) \
395 __usdt_asm2( .type sema, @object) \
396 __usdt_asm2( .size sema, 2) \
404 #define __usdt_sema_explicit(sema) \
405 __asm__ __volatile__ ("" :: "m" (sema));
409 #define __usdt_probe(group, name, sema_def, sema, ...) do { \
410 sema_def(sema) \
420 __usdt_asm1( __usdt_asm_addr sema) \