Eric W. Biederman wrote:
Nadia Derbey <[EMAIL PROTECTED]> writes:
I do not fully agree with you:
It is true that some ipc tunables play the role of DoS limits.
But IMHO the *mni ones (semmni, msgmni, shmmni) are used by the ipc subsystem to
adapt its data structures sizes to what is being asked for through the tunable
value. I think this is how they manage to take into account a new tunable value
without a need for rebooting the system: reallocate some more memory on demand.
Yes, they do. However if you are constantly having to play with shmmni or
the others that is the problem and the array should be replaced with
a hash table or some form of radix tree, so it changes it's size to fit
the need. Once that is done, shmmni does become a simple DOS limit.
So what I'm asking is please fix the problem at the source don't plaster over
it.
Now, what the akt framework does, is that it takes advantage of this concept of
"on demand memory allocation" to replace a user (or a daemon) that would
periodically check its ipcs consumptions and manually adjust the ipcs tunables:
Doing this from the user space would imply a latency that makes it difficult to
react fast enough to resources running out.
There may be some sense in this but you haven't found something that inherently
needs tuning. You have found something that has a poor data structure,
and can more easily be fixed by simply fixing the data structure.
So, should I understand from this that automatic tuning and the AKT
framework itself would make sense, given that I find the rigth tunables
it should be applied to?
Actually, dont' know if you had the opportunity to read all the patches,
but there are 2 other tunables AKT is proposed to be applied to:
. max_threads, the tunable limit on nr_threads
. max_files, the tunable limit on nr_files
Regards,
Nadia
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/