aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2015-08-09 13:17:14 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2015-08-09 13:22:54 +0200
commita58feaee8b6f7391cf53e61b1d14431ec51f58d0 (patch)
tree84fb08491f4a79efa8fa30bf7f61b339df151d36
parent98955680b358f3298475b97f4a1b46a69893b3f1 (diff)
downloadman-pages-a58feaee8b6f7391cf53e61b1d14431ec51f58d0.tar.gz
mq_overview.7: Document QSIZE bug that appeared in 3.5 and was fixed in 4.2
Reported-by: Arto Bendiken <arto@bendiken.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man7/mq_overview.716
1 files changed, 15 insertions, 1 deletions
diff --git a/man7/mq_overview.7 b/man7/mq_overview.7
index 943a559f64..663dbb4625 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),