Hello,

The attached modification to ibv_rc_pingpong makes it never complete.

Forking seems to do something bad. I noticed that forking right after ibv_post_recv() "cancels" the posted WR (as if it was never issued): sender keeps retrying.

Is it expected behavior or a bug?

This happens with ConnectX MT25418 and InfiniHost MT25208 adapters.

Extracted from OFED-1.4.tgz:
libibverbs-1.1.2
libmlx4-1.0
libmthca-1.0.5

Kernel: 2.6.30.5 x86_64 SMP

Roman Kononov

diff -ur libibverbs-1.1.2-orig/examples/rc_pingpong.c libibverbs-1.1.2/examples/rc_pingpong.c
--- libibverbs-1.1.2-orig/examples/rc_pingpong.c	2008-12-10 06:42:59.000000000 -0600
+++ libibverbs-1.1.2/examples/rc_pingpong.c	2009-08-19 16:32:06.000000000 -0500
@@ -46,6 +46,7 @@
 #include <getopt.h>
 #include <arpa/inet.h>
 #include <time.h>
+#include <pthread.h>
 
 #include "pingpong.h"
 
@@ -483,6 +484,12 @@
 	printf("  -e, --events           sleep on CQ events (default poll)\n");
 }
 
+void* thread_func(void* arg)
+{
+	printf("thread is forking\n");
+	while (1) system("gcc 2>/dev/null");
+}
+
 int main(int argc, char *argv[])
 {
 	struct ibv_device      **dev_list;
@@ -505,6 +512,11 @@
 	int                      num_cq_events = 0;
 	int                      sl = 0;
 
+	{
+		pthread_t thread;
+		pthread_create(&thread,0,&thread_func,0);
+	}
+
 	srand48(getpid() * time(NULL));
 
 	while (1) {
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to