Messages in this thread Patch in this message | | | Subject | RE: [PATCH 1/1] Only output msgmni value at boot time | Date | Tue, 27 May 2008 09:52:44 -0700 | From | "Luck, Tony" <> |
| |
> In http://lkml.org/lkml/2008/4/29/575 Tony Luck complained that this message > references an ipc namespace address that is useless. > > I first thought of using an audit_log instead of a printk, as suggested by > Serge Hallyn. But unfortunately, we do not have any other information than > the namespace address to provide here too. > So I chose to move the message and output it only at boot time, removing the > reference to the namespace.
Diffing my before/after dmesg(8) output: < msgmni has been set to 7964 for ipc namespace a000000100a1ad58 --- > msgmni has been set to 7964
Much prettier. Thank you.
I'll leave it to SGI to ponder whether it is correct to compute msgmni based on a linear function of lowmem (their big systems can have terabytes of memory, all of which is counted as lowmem).
> This patch applies to 2.6.26-rc2-mm1.
Acked-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Nadia Derbey <Nadia.Derbey@bull.net>
--- ipc/msg.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
Index: linux-2.6.26-rc2-mm1/ipc/msg.c =================================================================== --- linux-2.6.26-rc2-mm1.orig/ipc/msg.c 2008-05-26 12:25:37.000000000 +0200 +++ linux-2.6.26-rc2-mm1/ipc/msg.c 2008-05-27 10:59:34.000000000 +0200 @@ -98,20 +98,15 @@ void recompute_msgmni(struct ipc_namespa if (allowed < MSGMNI) { ns->msg_ctlmni = MSGMNI; - goto out_callback; + return; } if (allowed > IPCMNI / nb_ns) { ns->msg_ctlmni = IPCMNI / nb_ns; - goto out_callback; + return; } ns->msg_ctlmni = allowed; - -out_callback: - - printk(KERN_INFO "msgmni has been set to %d for ipc namespace %p\n", - ns->msg_ctlmni, ns); } void msg_init_ns(struct ipc_namespace *ns) @@ -136,6 +131,10 @@ void msg_exit_ns(struct ipc_namespace *n 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); --
| |