spawning (exec*/wait) shows non-constant time if memory grows

Dirk Bächle tshortik@gmx.de
Thu Jan 23 18:21:00 GMT 2014


Hi there,

I've already posted my actual question to the kernel-dev mailing list at:

   https://lkml.org/lkml/2014/1/14/632

, but got no reaction so far. So I'd really appreciate if someone 
knowledgeable could have a look at my findings and confirm to me that 
the problem I see is a kernel issue...and not related to the glibc itself.
What it's basically about is: I spawn a large number of simple child 
processes sequentially (they don't run in parallel!) while letting the 
memory of the parent process go up with malloc(). Over the number of 
spawned processes the runtime for each execve/wait seems to grow, which 
is not what I would expect.

Please find some more infos in the link above, if you're interested. Any 
pointers to more documentation, discussions or advice on how to proceed 
would be welcome.

I also apologize for cross-posting this problem, but I just want to 
ensure that I tried the right forum...instead of getting no reply 
because I "screwed up" and sent a glibc question to the kernel folks. ;)

Thanks a lot in advance for your answers.

Best regards,

Dirk Baechle



More information about the Libc-help mailing list