diff options
author | KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> | 2012-05-31 19:26:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-31 20:49:31 -0400 |
commit | cef0184c115e5e4e10498f6548d9526465e72478 (patch) | |
tree | 752c4116e0f93328239db9ff2c2ed730fef3ce0e /include | |
parent | fd1f87d24d492fda464bedf10a5dd5174ff9b065 (diff) |
mqueue: separate mqueue default value from maximum value
Commit b231cca4381e ("message queues: increase range limits") changed
mqueue default value when attr parameter is specified NULL from hard
coded value to fs.mqueue.{msg,msgsize}_max sysctl value.
This made large side effect. When user need to use two mqueue
applications 1) using !NULL attr parameter and it require big message
size and 2) using NULL attr parameter and only need small size message,
app (1) require to raise fs.mqueue.msgsize_max and app (2) consume large
memory size even though it doesn't need.
Doug Ledford propsed to switch back it to static hard coded value.
However it also has a compatibility problem. Some applications might
started depend on the default value is tunable.
The solution is to separate default value from maximum value.
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Acked-by: Doug Ledford <dledford@redhat.com>
Acked-by: Joe Korty <joe.korty@ccur.com>
Cc: Amerigo Wang <amwang@redhat.com>
Acked-by: Serge E. Hallyn <serue@us.ibm.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ipc_namespace.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h index 2488535a32a3..5499c92a9153 100644 --- a/include/linux/ipc_namespace.h +++ b/include/linux/ipc_namespace.h | |||
@@ -62,6 +62,8 @@ struct ipc_namespace { | |||
62 | unsigned int mq_queues_max; /* initialized to DFLT_QUEUESMAX */ | 62 | unsigned int mq_queues_max; /* initialized to DFLT_QUEUESMAX */ |
63 | unsigned int mq_msg_max; /* initialized to DFLT_MSGMAX */ | 63 | unsigned int mq_msg_max; /* initialized to DFLT_MSGMAX */ |
64 | unsigned int mq_msgsize_max; /* initialized to DFLT_MSGSIZEMAX */ | 64 | unsigned int mq_msgsize_max; /* initialized to DFLT_MSGSIZEMAX */ |
65 | unsigned int mq_msg_default; | ||
66 | unsigned int mq_msgsize_default; | ||
65 | 67 | ||
66 | /* user_ns which owns the ipc ns */ | 68 | /* user_ns which owns the ipc ns */ |
67 | struct user_namespace *user_ns; | 69 | struct user_namespace *user_ns; |