Closed GoogleCodeExporter closed 9 years ago
Hmm, weird. If I understand the report, it can happen when the cpu profile
frequency is fast enough a clone() call can't finish between the invocations.
I haven't heard any other reports of this, so it seems like it's pretty
uncommon. (And I would expect clone to be a lot faster than 10ms.) Though
maybe it's just that most users aren't using fork.
I don't see how this could be fixed in perftools, without capturing the fork
syscall, which I'd rather not do. The best thing to do may just be to lower
the profile frequency, like you've done.
Nice catch figuring out what was going on, btw!
Original comment by csilv...@gmail.com
on 15 May 2011 at 10:38
> And I would expect clone to be a lot faster than 10ms
I think that's because of my very specific case: I'm allocating a lot of memory
in master process (~400 Mb), and then perform fork() [using this memory
'read-only' within childs, what gives be benefit]. Since clone() copy memory
pages references, it may take long.
I could be wrong, but it seems logical. In addition, I've moved most of
allocations into child code, and now master-process (which became <10Mb)
fork()s fine even with hight profile frequency.
Original comment by jdk...@gmail.com
on 16 May 2011 at 2:48
Seems great! Given there's a good workaround for you, and I'm not sure we want
to change the code too much to handle something like this, I'm going to close
this WorkingAsIntended.
Original comment by csilv...@gmail.com
on 24 May 2011 at 4:32
Original issue reported on code.google.com by
jdk...@gmail.com
on 13 May 2011 at 2:18