Re: [patch 016/104] epoll: introduce resource usage limits

Davide Libenzi
2009-01-28T06:38:33Z

On Tue, 27 Jan 2009, Greg KH wrote:

> On Tue, Jan 27, 2009 at 08:10:41PM -0800, Davide Libenzi wrote:
> > In my servers, I know if they are going to be loaded, and I bump NFILES
> > (and a few other things) to the correct place. Since many of those
> > limits do not actually pre-allocate any resource, I don't need to wait and
> > monitor the values, before taking proper action.
>
> But what about people who want to know what the current usages are, so
> that they _can_ monitor things and adjust them on the fly if things are
> about to go boom?
>
> I see no reason why we can't leave the value where it is today, and add
> the ability to both turn the limits off entirely, and also report our
> current usage. That keeps the DOS from happening on "default" systems,
> and lets admins have an idea if they need to bump up the values on their
> systems as well.
>
> I don't understand your objection to allowing the usage to be monitored.

Do you really want to add that crud just to monitor a value? That cost
absolutely zero (in terms of pre-allocated resources) to bump up?
Is not like, that you want to keep the bound value close to the current
peak because using an even higher value could result in pre-allocated
resource waste. No because I could understand if rising such number to
higher-than-needed values could result in waste of resources, so you want
to monitor it to keep it as close as possible to the peak. But this is not
the case.
So today we have three groups of users:

- Users that have been hit by the limit
* Those have probably bumped the value up to the wazzoo.

- Unaware users with machines having potential of hitting the current limit
* Those, monitor or not, being unaware, they won't notice it until hits.
And since rising it costs zero, they'd likely prefer to bump it to the
stars instead of monitoring an incrementing by small steps.
* Applying a lomem-dependent max_instances default value like the two
lines patch I posted, is probably the best choice even for stable.

- Unaware users with low-load machines
* Those won't even notice it.

The default value can be rised, bound to lomem sizes. I see no problems in
there. Or, like Willy said, make (for -stable) the default unlimited, and
let sysadmins to put the bounds if they feel the DoS can apply to them.

- Davide