• Davidlohr Bueso's avatar
    ipc,mqueue: remove limits for the amount of system-wide queues · f3713fd9
    Davidlohr Bueso authored
    Commit 93e6f119 ("ipc/mqueue: cleanup definition names and
    locations") added global hardcoded limits to the amount of message
    queues that can be created.  While these limits are per-namespace,
    reality is that it ends up breaking userspace applications.
    Historically users have, at least in theory, been able to create up to
    INT_MAX queues, and limiting it to just 1024 is way too low and dramatic
    for some workloads and use cases.  For instance, Madars reports:
    
     "This update imposes bad limits on our multi-process application.  As
      our app uses approaches that each process opens its own set of queues
      (usually something about 3-5 queues per process).  In some scenarios
      we might run up to 3000 processes or more (which of-course for linux
      is not a problem).  Thus we might need up to 9000 queues or more.  All
      processes run under one user."
    
    Other affected users can be found in launchpad bug #1155695:
      https://bugs.launchpad.net/ubuntu/+source/manpages/+bug/1155695
    
    Instead of increasing this limit, revert it entirely and fallback to the
    original way of dealing queue limits -- where once a user's resource
    limit is reached, and all memory is used, new queues cannot be created.
    Signed-off-by: default avatarDavidlohr Bueso <davidlohr@hp.com>
    Reported-by: default avatarMadars Vitolins <m@silodev.com>
    Acked-by: default avatarDoug Ledford <dledford@redhat.com>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Cc: <stable@vger.kernel.org>	[3.5+]
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f3713fd9
mqueue.c 35.3 KB