Yasunori Goto wrote:
Hello Nadia-san.
@@ -118,6 +122,10 @@ struct ipc_namespace {
size_t shm_ctlall;
int shm_ctlmni;
int shm_tot;
+
+#ifdef CONFIG_MEMORY_HOTPLUG
+ struct notifier_block ipc_memory_hotplug;
+#endif
};
I'm sorry, but I don't see why each ipc namespace must have each callbacks
of memory hotplug.
I prefer only one callback for each subsystem, not for each namespace.
In addition, the recompute_msgmni() calculation looks very similar for
all ipc namespace.
Or do you wish each ipc namespace have different callback for the future?
Actually, this is what I wanted to do at the very beginning: have a single callback that would recompute the msgmni for each ipc namespace. But the issue here is that the namespaces are not linked to each other, so I had no simple way to go through all the namespaces.
I solved the issue by having a callback for any single ipc namespace and make it recompute the msgmni value for itslef.
The recompute_msg() must be called when new ipc_namespace is created/removed
as you mentioned. I think namespaces should be linked each other for it
in the end....