[Bug 1155695] Re: mq_overview(7) contains outdated, inaccurate fs.mqueue.queues_max limit description

Michael Kerrisk mtk.manpages at gmail.com
Sun Mar 17 12:12:54 UTC 2013


On Sun, Mar 17, 2013 at 12:57 PM, Arto Bendiken <arto at bendiken.net> wrote:
> Michael, thanks for looking into this.
>
> In answer to your question: yes, it caused the IPC mechanism in the
> database engine my company develops (dydra.com) to break, causing not a
> little aggravation. While we don't need millions of message queues, we
> had been relying on having at least a few thousand, and 1024 is just too
> low a hard limit. As we can't possibly require a custom-built kernel to
> run our software, we are now contemplating switching from POSIX to SysV
> message queues instead. Not a happy day...

Arto, I don't think you should be doing that. The upstream kernel
broke user space here, and I am sure that was not intended. I would
imagine that an upstream fix that repairs your problem would probably
be accepted. How about we pursue that line instead?

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface"; http://man7.org/tlpi/

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to manpages in Ubuntu.
https://bugs.launchpad.net/bugs/1155695

Title:
  mq_overview(7) contains outdated, inaccurate fs.mqueue.queues_max
  limit description

Status in “manpages” package in Ubuntu:
  Confirmed

Bug description:
  The manpages 3.40-0.1ubuntu3 package in Ubuntu 12.10 contains an
  mq_overview(7) man page with outdated, severely inaccurate information
  regarding the /proc/sys/fs/mqueue/queues_max kernel limit, as follows:

  "The default value for queues_max is 256; it can be changed to any
  value in the range 0 to INT_MAX."

  This used to be true in Linux 3.2.x, as shipped in Ubuntu 12.04.
  However, it is no longer true with Linux 3.5.x, as shipped in 12.10.

  For some inexplicable reason, upstream lowered the hard upper limit
  for POSIX message queues (fs.mqueue.queues_max) from INT_MAX to 1024
  in the 3.5 kernel:

  # sysctl -w fs.mqueue.queues_max=1025
  sysctl: setting key "fs.mqueue.queues_max": Invalid argument
  fs.mqueue.queues_max = 1025

  You can verify the new, post-3.5 limit at:

  http://lxr.free-electrons.com/source/ipc/mq_sysctl.c?v=3.5#L40
  http://lxr.free-electrons.com/source/include/linux/ipc_namespace.h?v=3.5#L121

  Please amend the man page so that the new limit is correctly
  documented. The undocumented change from INT_MAX queues to a mere 1024
  queues is rather harsh, and it took quite some investigation to pin
  this down as an upstream kernel change.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/manpages/+bug/1155695/+subscriptions




More information about the foundations-bugs mailing list