[GRASS-dev] fork()ed process bound to same core as parent?
Hamish
hamish_b at yahoo.com
Mon Jun 22 08:36:28 EDT 2009
Hi,
I have been watching some fork()ed processes in top+grellm on a multicore
CPU (linux). It seems that both the display driver (6.5svn d.vect
+XDRIVER) and DB driver (v.in.ascii+DBF) both fork() a child process, but
these remain bound to the same core as the parent.
especially for v.in.ascii+dbf this slows things down as the CPU usage
split between the two processes is 60/40 while the other 3 cores remain
idle at 0%.
how to encourage the child process to leave home?
will the spawn()ed children on WinGrass show the same behaviour?
lib/db/dbmi_client/start.c
lib/driver/main.c
a web search finds some non-portable chatter about setaffinity and
binding, but nothing very clear about how to undo the behaviour.
if it's an OS /proc thing, it seems like a weird choice for the default.
?,
Hamish
More information about the grass-dev
mailing list