Re: [RFC PATCH 4/4] [RESEND] Recomputing msgmni on memory add / remove

Nadia Derbey
2008-01-15T09:05:20Z

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.

>
>
> BTW, have you ever tested this patch? If you don't have any test environment
> for memory hotplug code, then I'll check it. :-)

Well, I tested it but not in "real configuration": what I did is that I
changed the status by hand under sysfs to offline. I also changed
remove_memory() in mm/memory_hotplug.c in the following way (instead of
returninf EINVAL):
1) decrease the total_ram pages
2) call memory_notify(MEM_OFFLINE, NULL)

and checked that the msgmni was recomputed.

But sure, if you are candidate to test it, that would be great!

Regards,
Nadia