|
@@ -100,18 +100,7 @@ TRACE_EVENT(signal_deliver,
|
|
|
__entry->sa_handler, __entry->sa_flags)
|
|
|
);
|
|
|
|
|
|
-/**
|
|
|
- * signal_overflow_fail - called when signal queue is overflow
|
|
|
- * @sig: signal number
|
|
|
- * @group: signal to process group or not (bool)
|
|
|
- * @info: pointer to struct siginfo
|
|
|
- *
|
|
|
- * Kernel fails to generate 'sig' signal with 'info' siginfo, because
|
|
|
- * siginfo queue is overflow, and the signal is dropped.
|
|
|
- * 'group' is not 0 if the signal will be sent to a process group.
|
|
|
- * 'sig' is always one of RT signals.
|
|
|
- */
|
|
|
-TRACE_EVENT(signal_overflow_fail,
|
|
|
+DECLARE_EVENT_CLASS(signal_queue_overflow,
|
|
|
|
|
|
TP_PROTO(int sig, int group, struct siginfo *info),
|
|
|
|
|
@@ -134,6 +123,24 @@ TRACE_EVENT(signal_overflow_fail,
|
|
|
__entry->sig, __entry->group, __entry->errno, __entry->code)
|
|
|
);
|
|
|
|
|
|
+/**
|
|
|
+ * signal_overflow_fail - called when signal queue is overflow
|
|
|
+ * @sig: signal number
|
|
|
+ * @group: signal to process group or not (bool)
|
|
|
+ * @info: pointer to struct siginfo
|
|
|
+ *
|
|
|
+ * Kernel fails to generate 'sig' signal with 'info' siginfo, because
|
|
|
+ * siginfo queue is overflow, and the signal is dropped.
|
|
|
+ * 'group' is not 0 if the signal will be sent to a process group.
|
|
|
+ * 'sig' is always one of RT signals.
|
|
|
+ */
|
|
|
+DEFINE_EVENT(signal_queue_overflow, signal_overflow_fail,
|
|
|
+
|
|
|
+ TP_PROTO(int sig, int group, struct siginfo *info),
|
|
|
+
|
|
|
+ TP_ARGS(sig, group, info)
|
|
|
+);
|
|
|
+
|
|
|
/**
|
|
|
* signal_lose_info - called when siginfo is lost
|
|
|
* @sig: signal number
|
|
@@ -145,28 +152,13 @@ TRACE_EVENT(signal_overflow_fail,
|
|
|
* 'group' is not 0 if the signal will be sent to a process group.
|
|
|
* 'sig' is always one of non-RT signals.
|
|
|
*/
|
|
|
-TRACE_EVENT(signal_lose_info,
|
|
|
+DEFINE_EVENT(signal_queue_overflow, signal_lose_info,
|
|
|
|
|
|
TP_PROTO(int sig, int group, struct siginfo *info),
|
|
|
|
|
|
- TP_ARGS(sig, group, info),
|
|
|
-
|
|
|
- TP_STRUCT__entry(
|
|
|
- __field( int, sig )
|
|
|
- __field( int, group )
|
|
|
- __field( int, errno )
|
|
|
- __field( int, code )
|
|
|
- ),
|
|
|
-
|
|
|
- TP_fast_assign(
|
|
|
- __entry->sig = sig;
|
|
|
- __entry->group = group;
|
|
|
- TP_STORE_SIGINFO(__entry, info);
|
|
|
- ),
|
|
|
-
|
|
|
- TP_printk("sig=%d group=%d errno=%d code=%d",
|
|
|
- __entry->sig, __entry->group, __entry->errno, __entry->code)
|
|
|
+ TP_ARGS(sig, group, info)
|
|
|
);
|
|
|
+
|
|
|
#endif /* _TRACE_SIGNAL_H */
|
|
|
|
|
|
/* This part must be outside protection */
|