]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - ipc/msg.c
Merge tag 'stable/for-linus-4.1-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / ipc / msg.c
index c5d8e3749985be98b17c7bb1183dafb41332ea36..2b6fdbb9e0e9aeee2ae962ddd19a3dd1ba83174b 100644 (file)
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -989,43 +989,12 @@ SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
        return do_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg, do_msg_fill);
 }
 
-/*
- * Scale msgmni with the available lowmem size: the memory dedicated to msg
- * queues should occupy at most 1/MSG_MEM_SCALE of lowmem.
- * Also take into account the number of nsproxies created so far.
- * This should be done staying within the (MSGMNI , IPCMNI/nr_ipc_ns) range.
- */
-void recompute_msgmni(struct ipc_namespace *ns)
-{
-       struct sysinfo i;
-       unsigned long allowed;
-       int nb_ns;
-
-       si_meminfo(&i);
-       allowed = (((i.totalram - i.totalhigh) / MSG_MEM_SCALE) * i.mem_unit)
-               / MSGMNB;
-       nb_ns = atomic_read(&nr_ipc_ns);
-       allowed /= nb_ns;
-
-       if (allowed < MSGMNI) {
-               ns->msg_ctlmni = MSGMNI;
-               return;
-       }
-
-       if (allowed > IPCMNI / nb_ns) {
-               ns->msg_ctlmni = IPCMNI / nb_ns;
-               return;
-       }
-
-       ns->msg_ctlmni = allowed;
-}
 
 void msg_init_ns(struct ipc_namespace *ns)
 {
        ns->msg_ctlmax = MSGMAX;
        ns->msg_ctlmnb = MSGMNB;
-
-       recompute_msgmni(ns);
+       ns->msg_ctlmni = MSGMNI;
 
        atomic_set(&ns->msg_bytes, 0);
        atomic_set(&ns->msg_hdrs, 0);
@@ -1046,22 +1015,24 @@ static int sysvipc_msg_proc_show(struct seq_file *s, void *it)
        struct user_namespace *user_ns = seq_user_ns(s);
        struct msg_queue *msq = it;
 
-       return seq_printf(s,
-                       "%10d %10d  %4o  %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n",
-                       msq->q_perm.key,
-                       msq->q_perm.id,
-                       msq->q_perm.mode,
-                       msq->q_cbytes,
-                       msq->q_qnum,
-                       msq->q_lspid,
-                       msq->q_lrpid,
-                       from_kuid_munged(user_ns, msq->q_perm.uid),
-                       from_kgid_munged(user_ns, msq->q_perm.gid),
-                       from_kuid_munged(user_ns, msq->q_perm.cuid),
-                       from_kgid_munged(user_ns, msq->q_perm.cgid),
-                       msq->q_stime,
-                       msq->q_rtime,
-                       msq->q_ctime);
+       seq_printf(s,
+                  "%10d %10d  %4o  %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n",
+                  msq->q_perm.key,
+                  msq->q_perm.id,
+                  msq->q_perm.mode,
+                  msq->q_cbytes,
+                  msq->q_qnum,
+                  msq->q_lspid,
+                  msq->q_lrpid,
+                  from_kuid_munged(user_ns, msq->q_perm.uid),
+                  from_kgid_munged(user_ns, msq->q_perm.gid),
+                  from_kuid_munged(user_ns, msq->q_perm.cuid),
+                  from_kgid_munged(user_ns, msq->q_perm.cgid),
+                  msq->q_stime,
+                  msq->q_rtime,
+                  msq->q_ctime);
+
+       return 0;
 }
 #endif
 
@@ -1069,9 +1040,6 @@ void __init msg_init(void)
 {
        msg_init_ns(&init_ipc_ns);
 
-       printk(KERN_INFO "msgmni has been set to %d\n",
-               init_ipc_ns.msg_ctlmni);
-
        ipc_init_proc_interface("sysvipc/msg",
                                "       key      msqid perms      cbytes       qnum lspid lrpid   uid   gid  cuid  cgid      stime      rtime      ctime\n",
                                IPC_MSG_IDS, sysvipc_msg_proc_show);