On 6-Aug-06, at 9:08 AM, Alex Lyashkov wrote:

I read you patch and see you start N kernel threads for control
memory/CPU usage, when each thread in loop count total memory usage.
What are reason why not create memory limit similar limit(1)?
for this need add pointer to prison structure at each VMA struct and add
few checks at same points when LIMIT_VMEM and LIMIT_RSS checks.

Hi, Alex --- there are a few reasons I chose not to do it that way:

First, I think it makes more sense to limit memory over the jail as a whole, rather than against whichever process happens to hit the limit first; that suggests that the approach taken by limit(1) is probably not appropriate for my purposes. I could use that as a trigger to launch the "push things out of physical memory" bit, but it seems a bit unnatural to me. (I'm open to persuasion, though.)

Second, I think that it's valuable to be able to overcommit memory to some extent; that is, turning this into a soft-ish limit rather than a hard limit. Being able to tune the response time, if you will, of enforcing the limit against a jail means that you could permit one jail to have a more lenient overcommit policy than another.

Third, there's precedent for this in other OSes: Solaris implements its resource limits for zones (analogous to jails) in a similar manner.

My apologies for not replying to this sooner; I've just got home from a few days' vacation in California, and to have worked on the project (I'm told including correspondence) while there would have not only been illegal for me but (worse!) created some major tax headaches.

I look forward to your thoughts.

Cheers,

Chris

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to