rsockets and fork

Sridhar Samudrala
2012-08-13T23:12:37Z

Sean,

I could not get fork enabled netperf to work with rsockets in the latest
librdmacm git repository.
After some debugging, i found that the child netserver process is blocked at
sem_wait() call in fork_passive().
It is not clear to me how this call is supposed to unblock as sem_post()
is done later in the same function.

If i comment out sem_wait() and sem_post() in this routine, i got a single
instance of netperf working with a forked netserver.

However, if i start another netperf instance while the other session is
still going on, it seems to hang and return with a very low throughput.
It looks as if the first session is starving all the other sessions.
The right behavior would be to have the available bw split across the
parallel instances.

Thanks
Sridhar