Messages in this thread | | | Date | Mon, 14 Jan 2008 16:54:02 +0100 | From | Nadia.Derbey@bull ... | Subject | [RFC PATCH 0/4] [RESEND] Change default MSGMNI tunable to scale with lowmem |
| |
Resending the set of patches after Andrew's remark about the fact that we should take the lowmem into account, rather than the total ram.
Also, these patches have been enhanced with memory hotplug management.
Note: they now have to applied to 2.6.24-rc7.
-------------------
On large systems we'd like to allow a larger number of message queues. In some cases up to 32K. However simply setting MSGMNI to a larger value may cause problems for smaller systems.
The first patch of this series introduces a default maximum number of message queue ids that scales with the amount of lowmem.
Since msgmni is per namespace and there is no amount of memory dedicated to each namespace so far, the second patch of this series scales msgmni to the number of ipc namespaces.
In the last patch, a notifier block is added to the ipc namespace structure to manage memory hotplug. The callback routine is activated upon memory add/remove and it recomputes msgmni. One callback routine is added to the memory notifier chain each time an ipc namespace is allocated. It is removed when the coresponding ipc namespace is freed.
I still have 1 issue that I'll try to solve next: . use the notification mechanism to recompute all the msg_ctlmni each time an ipc namespace is created / removed.
These patches should be applied to 2.6.24-rc7, in the following order:
[PATCH 1/4]: ipc_scale_msgmni_with_lowmem.patch [PATCH 2/4]: ipc_scale_msgmni_with_namespaces.patch [PATCH 3/4]: ipc_slab_memory_callback_prio_to_const.patch [PATCH 4/4]: ipc_recompute_msgmni_on_memory_hotplug.patch
Regards, Nadia
--
| |