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