Re: rsockets and fork

2012-12-02 Thread Or Gerlitz
On 29/11/2012 18:27, Hefty, Sean wrote: Fork support in rsockets is available now, and netperf should work. Sean, Trying the latest librdamcm git (+ the patch I sent to have it build OK), we weren't able to run netperf here's the server output starting netserver with host '192.168.20.126

Re: rsockets and fork

2012-11-29 Thread Or Gerlitz
in the initialization paths might cause the problems? (Assuming that is where the problem is.) Hi Sean, Was there progress on using rsocket under netperf or fork in general? Do you think for the netperf and maybe other uses case of fork rsockets can use CM redirect (e.g through the rdma-cm supporting

RE: rsockets and fork

2012-11-29 Thread Hefty, Sean
Was there progress on using rsocket under netperf or fork in general? Fork support in rsockets is available now, and netperf should work. It's not generic enough to handle any arbitrary call to fork, but will work if the app does something like this: listen() s = accept() fork(s) Do you

Re: rsockets and fork

2012-08-24 Thread Roland Dreier
On Wed, Aug 22, 2012 at 4:35 PM, Hefty, Sean sean.he...@intel.com wrote: I'm haven't identified the specific problem with fork support, but I did see this in libmlx4: mlx4_alloc_context() { ... context-uar = mmap(NULL, to_mdev(ibdev)-page_size, PROT_WRITE,

RE: rsockets and fork

2012-08-24 Thread Hefty, Sean
I don't think those mmap()s should be an issue with fork they are mapping adapter PCI space into userspace, but it should work across fork. makes sense Do you have any ideas on ways to identify what in the initialization paths might cause the problems? (Assuming that is where the

RE: rsockets and fork

2012-08-22 Thread Hefty, Sean
I'm haven't identified the specific problem with fork support, but I did see this in libmlx4: mlx4_alloc_context() { ... context-uar = mmap(NULL, to_mdev(ibdev)-page_size, PROT_WRITE, MAP_SHARED, cmd_fd, 0); if (context-uar == MAP_FAILED)

RE: rsockets and fork

2012-08-22 Thread Sridhar Samudrala
On Wed, 2012-08-22 at 23:35 +, Hefty, Sean wrote: I'm haven't identified the specific problem with fork support, but I did see this in libmlx4: mlx4_alloc_context() { ... context-uar = mmap(NULL, to_mdev(ibdev)-page_size, PROT_WRITE, MAP_SHARED,

RE: rsockets and fork

2012-08-22 Thread Hefty, Sean
I saw this code in preload library and was wondering why rsocket() is called and closed immediately if fork_support is enabled. I guess you are doing this so that you can fallback to real socket at the initial socket() call instead of waiting all the way until fork_active/fork_passive. This

RE: rsockets and fork

2012-08-17 Thread Sridhar Samudrala
On Thu, 2012-08-16 at 23:40 +, Hefty, Sean wrote: I don't have RoCE installed. With IB, I haven't been able to see this problem after dozens of attempts. The performance isn't divided equally, but I usually see between 3-10 Gbps out of each connection. I'm running with some

RE: rsockets and fork

2012-08-17 Thread Hefty, Sean
thanks - this helps ... a little The sender is waiting for the receiver to publish additional receive buffer space. (gdb) bt #0 0x003286ed83f0 in __read_nocancel () from /lib64/libc.so.6 #1 0x003b7220a1c4 in ibv_get_cq_event () from /usr/lib64/libibverbs.so.1 #2

RE: rsockets and fork

2012-08-17 Thread Hefty, Sean
retries = 0, err = 0, index = 16, ctrl_avail = 3, sqe_avail = 1020, ^^ This looks like part of the problem. There should be 4 control messages available by default. The receiver has sent a control message to the sender, but the control

RE: rsockets and fork

2012-08-17 Thread Sridhar Samudrala
On Fri, 2012-08-17 at 22:36 +, Hefty, Sean wrote: retries = 0, err = 0, index = 16, ctrl_avail = 3, sqe_avail = 1020, ^^ This looks like part of the problem. There should be 4 control messages available by default. The receiver

RE: rsockets and fork

2012-08-16 Thread Hefty, Sean
This test is using Mellanox 10Gb RoCEE with MTU set to 9000 Server is started using # ldr netserver -D 2 clients are started in 2 windows as follows. # ldr netperf -v2 -c -C -H 192.168.0.22 -l10 MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.22

Re: rsockets and fork

2012-08-14 Thread Sridhar Samudrala
On 8/13/2012 4:39 PM, Hefty, Sean wrote: 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

RE: rsockets and fork

2012-08-14 Thread Hefty, Sean
Yes. it is also using rsockets. The second session always hangs after sending a fixed number of bytes (38469632). rsend() blocks waiting for the CQ event. Can you send me the parameters that you use for testing?

RE: rsockets and fork

2012-08-14 Thread Sridhar Samudrala
On Tue, 2012-08-14 at 17:56 +, Hefty, Sean wrote: Yes. it is also using rsockets. The second session always hangs after sending a fixed number of bytes (38469632). rsend() blocks waiting for the CQ event. Can you send me the parameters that you use for testing? This test is using

RE: rsockets and fork

2012-08-13 Thread Hefty, 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