[openib-general] some bugs that can be found using the gen2_b asic in the contrib/m ellanox folder

Amit Krig amitk at mellanox.co.il
Tue Oct 11 10:38:57 PDT 2005


Hi Roland,

Dotan is on vacation until the end of the month, (Ami will send an update)
Regarding the max qp number the main reason for the test is to see that we
are in the ballpark,

Your point was taken and we will focus on some heavy data movement from
there we will continue to some error flows

-----Original Message-----
From: Roland Dreier [mailto:rolandd at cisco.com] 
Sent: Monday, October 03, 2005 7:30 PM
To: Dotan Barak
Cc: openib-general at openib.org
Subject: Re: [openib-general] some bugs that can be found using the
gen2_basic in the contrib/m mellanox folder

I finally got a chance to try your tests.  A few comments:

 - Several of the tests are buggy.  See the patch below at least.

 - It would be much more useful if the COMPARE() macro printed the
   expected and actual value on failure.

 - Similarly, other macros should probably also print more context.
   For example, in something like:

                CHECK_PTR("ibv_create_qp", qp[i], goto cleanup);

   I would probably want to know the value of i on failure.

 - I don't believe some of the tests are really valid.  For example,
   the max number of QPs doesn't have to be precisely correct -- no
   valid app is going to depend on being able to create exactly that
   number of QPs and no more.

 - In any case, I'm not convinced that this sort of negative testing
   is the most valuable thing to focus on right now.  I think it would
   be better to have regression tests of basic functionality (sends,
   receives, RDMA, CQ polling, etc) and stress tests before testing
   whether a buggy app will get the right error value when passing
   invalid parameters.

 - R.

Index: test_cq.c
===================================================================
--- test_cq.c	(revision 3639)
+++ test_cq.c	(working copy)
@@ -106,6 +106,7 @@ int cq_2(
 {
 	struct ibv_context      *ib_cont = NULL;
 	struct ibv_pd		*pd = NULL;
+	struct ibv_comp_channel *channel = NULL;
 	struct ibv_cq           *cq = NULL;
 	struct ibv_cq           *event_cq = NULL;
 	struct ibv_qp		*qp = NULL;
@@ -132,8 +133,11 @@ int cq_2(
 	pd = ibv_alloc_pd(ib_cont);
 	CHECK_PTR("ibv_alloc_pd", pd, goto cleanup);
 
+	channel = ibv_create_comp_channel(ib_cont);
+	CHECK_PTR("ibv_create_comp_channel", channel, goto cleanup);
+
 	cq_size = VL_range(rand_gen, 1, device_attr.max_cqe);
-	cq = ibv_create_cq(ib_cont, cq_size, (void *)&count, NULL, 0);
+	cq = ibv_create_cq(ib_cont, cq_size, (void *)&count, channel, 0);
 	CHECK_PTR("ibv_create_cq", cq, goto cleanup);
 
 	mr_size = VL_range(rand_gen, 1, 1024); @@ -211,6 +215,7 @@ int cq_2(
 	CHECK_MALLOC(event_count, goto cleanup);
 
 	*event_count = 0;
+	rc = ibv_get_cq_event(channel, (void *)&event_cq, (void 
+*)&event_count);
 	rc = ibv_get_cq_event(NULL, (void *)&event_cq, (void
*)&event_count);
 	CHECK_VALUE("ibv_get_cq_event", rc, 0, goto cleanup);
 
Index: test_hca.c
===================================================================
--- test_hca.c	(revision 3639)
+++ test_hca.c	(working copy)
@@ -230,7 +230,7 @@ int hca_5(
 		j = port_attr.gid_tbl_len + VL_random(rand_gen, 0xFFFFFFFF -
port_attr.gid_tbl_len);
 	
 		rc = ibv_query_gid(ib_cont, i, j, &gid);
-		CHECK_VALUE("ibv_query_gid", rc, 0, goto cleanup);
+		CHECK_VALUE("ibv_query_gid", rc, -1, goto cleanup);
 	}
 	PASSED;
 
@@ -239,7 +239,7 @@ int hca_5(
 	i = VL_range(rand_gen, device_attr.phys_port_cnt + 1, 0xFF);
 	
 	rc = ibv_query_gid(ib_cont, i, j, &gid);
-	CHECK_VALUE("ibv_query_gid", rc, 0, goto cleanup);
+	CHECK_VALUE("ibv_query_gid", rc, -1, goto cleanup);
 	PASSED;
 
 	test_result = 0;
_______________________________________________
openib-general mailing list
openib-general at openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051011/a56060f1/attachment.html>


More information about the general mailing list