|
Message-ID: <20110725192141.GP132@brightrain.aerifal.cx> Date: Mon, 25 Jul 2011 15:21:41 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: holywar: malloc() vs. OOM On Mon, Jul 25, 2011 at 09:43:43PM +0400, Vasiliy Kulikov wrote: > Rich, > > On Sun, Jul 24, 2011 at 18:19 -0400, Rich Felker wrote: > > Any system without this guarantee is a TOY, nothing more. I'm aware > > that the default sucks, > > I don't think the default sucks, it is just targeted to other programs. I disagree. I think the default discourages writing safe, robust applications (people always say "Why should I check the result of malloc? It will return success then crash later anyway because of overcommit.") and encourages writing broken hackware that depends on the availability of overcommit. > Think about Java/Python programs, which request hundreds megabytes, but > using only tens of them. This is not a valid way to write applications. It's basically the same as the classic joke about Windows 95 containing: if (rand()%1000==42) bsod(); I'm also a bit unsure how a Java or Python program would allocate hundreds of megs but leave them completely untouched. Usually HLL's dirty memory as soon as they allocate it with initialization, object construction, etc. so I'm doubtful your example has anything to do with the real world... > Also daemons with fork() model being able to > handle hundreds/thousands connections actively using COW would not be > able to fully exploit COW potential. As long as the main daemon (prior to accepting connections) does not use much memory, it's not an issue. If it is an issue, just throw in an extra hard drive that's always spun down with a few TB of swap space and the commit allowance will go through the roof. Also, if you'll be calling exec after fork, posix_spawn is available as an option. On a good implementation, it can/will use vfork or some other clone variant to avoid increasing the commit charge in the window between fork and exec. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.