diff --git a/man7/mq_overview.7 b/man7/mq_overview.7 index 943a559f6..663dbb462 100644 --- a/man7/mq_overview.7 +++ b/man7/mq_overview.7 @@ -315,7 +315,7 @@ QSIZE:129 NOTIFY:2 SIGNO:0 NOTIFY_PID:8260 These fields are as follows: .TP .B QSIZE -Number of bytes of data in all messages in the queue. +Number of bytes of data in all messages in the queue (but see BUGS). .TP .B NOTIFY_PID If this is nonzero, then the process with this PID has used @@ -373,6 +373,20 @@ limit could be raised, and the ceiling was enforced even for privileged processes. This ceiling value was removed in Linux 3.14, and patches to stable kernels 3.5.x to 3.13.x also removed the ceiling. + +As originally implemented (and documented), +the QSIZE field displayed the total number of (user-supplied) +bytes in all messages in the message queue. +Some changes in Linux 3.5 +.\" commit d6629859b36d +inadvertently changed the behavior, +so that this field also included a count of kernel overhead bytes +used to store the messages in the queue. +This behavioral regression was rectified in Linux 4.2 +.\" commit de54b9ac253787c366bbfb28d901a31954eb3511 +(and earlier stable kernel series), +so that the count once more included just the bytes of user data +in messages in the queue. .SH SEE ALSO .BR getrlimit (2), .BR mq_getsetattr (2),