> 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.

sem_open() should create the semaphore with an initial value of 1.  The 
sem_wait/sem_post calls serialize listening on the corresponding rsocket.  The 
name semaphore should remain until the system is rebooted.
 
> 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.

Can you verify that the second session is using rsockets and not falling back 
to a socket connection?

You can try adjusting the polling time.  This can usually be done by writing a 
value (time in microseconds) to the following file:

/etc/rdma/rsocket/polling_time

By default, the value is 10.

- Sean

Reply via email to