From 5fa62195f542a9f3ed4a824c4c11996b8b64ece0 Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Mon, 5 Nov 2018 15:41:14 +0100 Subject: [PATCH] sched_setattr.2: Note that SCHED_FLAG_DL_OVERRUN SIGXCPU signal is process-directed And further note that this is probably a bug. Signed-off-by: Michael Kerrisk --- man2/sched_setattr.2 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/man2/sched_setattr.2 b/man2/sched_setattr.2 index 235d57520..806ab67c8 100644 --- a/man2/sched_setattr.2 +++ b/man2/sched_setattr.2 @@ -172,14 +172,29 @@ thread to reclaim bandwidth unused by other real-time thread. .TP .BR SCHED_FLAG_DL_OVERRUN " (since Linux 4.16)" .\" commit 34be39305a77b8b1ec9f279163c7cdb6cc719b91 -This flag allows a +This flag allows an application to get informed about run-time overruns in .BR SCHED_DEADLINE -thread to get informed about run-time overruns, -which may be caused by (for example) coarse execution time accounting +threads. +Such overruns may be caused by (for example) coarse execution time accounting or incorrect parameter assignment. Notification takes the form of a .B SIGXCPU signal which is generated on each overrun. +.IP +This +.BR SIGXCPU +signal is +.I process-directed +(see +.BR signal (7)) +rather than thread-directed. +This is probably a bug. +On the one hand, +.BR sched_setattr () +is being used to set a per-thread attribute. +On the other hand, if the process-directed signal is delivered to +a thread inside the process other than the one that had a run-time overrun, +the application has no way of knowing which thread overran. .RE .TP .I sched_nice