On Thu, 2008-03-13 at 16:03 -0400, Michael Stone wrote:
> > Also, it would be easy for Rainbow to enforce a pre-set hard limit on
> > memory usage for each Activity separately.  
> 
> I've thought about it before, but I don't think it leads to a good UI at
> the moment. The problem is that I don't think you really want to nuke
> activities that hit their hardlimit, or to start returning ENOMEM to
> ones that hit the soft (memory) limit.

I agree, though I would say it in reverse: in order to ensure that
correctly functioning activities don't hit their limits, the limits
specified in activity.info would have to be so high that only a few
activities could run simultaneously.

> > I think that this is very interesting, since it would allow us to
> > ensure that OOM never happens, by only launching an activity if all
> > activities could still max out their quota afterwards.  
> 
> This safety property only seems to be true if we can give reasonable
> upper bounds on _all_ the software that we're trying to run, no?
This is a good point.  User "olpc" would also have to run with memory
limits, and sugar would have to be debugged to the point that it could
safely run within these bounds.

> P.S. - Ivan and I once kicked around the idea of modifying the 'hard'
> 'soft' limits notion into a 'sleepy' limit notion. In implementation,
> this might consist of sending SIGSTOP rather than SIGKILL and blocking a
> malloc() rather than returning ENOMEM until pressure is eased.
> Unfortunately, this hasn't gone beyond the drawing board.

That's an interesting proposal, though it replaces OOM with a state in
which all processes are SIGSTOPed one by one.

I recall a complementary design in which, when a few MB of free memory
remained, the kernel would call a userspace "OOM prevention handler",
which would SIGSTOP all activities and then present the user with a
modal dialog to kill one of them.  IIRC, there is currently no support
for this in the kernel, and so it has remained on the very large back
burner.

_______________________________________________
Sugar mailing list
Sugar@lists.laptop.org
http://lists.laptop.org/listinfo/sugar

Reply via email to