fix remote_event bug on CrayXC 32/432/2
authorYanhua Sun <sun51@illinois.edu>
Tue, 18 Nov 2014 04:55:28 +0000 (20:55 -0800)
committerYanhua Sun <sun51@illinois.edu>
Tue, 18 Nov 2014 17:38:44 +0000 (09:38 -0800)
GNI_CQ_GET_INST_ID() allows a user to retrieve the instance ID (inst_id)
field from an event dequeued from a source completion queue (attached to a GNI endpoint).
GNI_CQ_GET_REM_INST_ID() allows a user to retrieve the instance ID field
from an event dequeued from a destination completion queue (attached to
GNI registered memory).

Change-Id: I91d5f8e000d162f87f7bc9a7f8d8f37ed89e7a95

src/arch/gni/machine.c

index 46474d286577d0851b3a18b71ff3665e840f5dfa..b4f0edd827b1e52e258bc3fd9994644d87ef85aa 100644 (file)
@@ -63,9 +63,7 @@
 #define CMK_WORKER_SINGLE_TASK     1
 #endif
 
 #define CMK_WORKER_SINGLE_TASK     1
 #endif
 
-#if !CMK_CRAYXC
 #define REMOTE_EVENT               1
 #define REMOTE_EVENT               1
-#endif
 
 #define CQWRITE                    0
 
 
 #define CQWRITE                    0
 
@@ -2261,7 +2259,7 @@ static void PumpNetworkSmsg()
         CMI_GNI_UNLOCK(smsg_rx_cq_lock)
         if(status != GNI_RC_SUCCESS) break;
 
         CMI_GNI_UNLOCK(smsg_rx_cq_lock)
         if(status != GNI_RC_SUCCESS) break;
 
-        inst_id = GNI_CQ_GET_INST_ID(event_data);
+        inst_id = GNI_CQ_GET_REM_INST_ID(event_data);
 #if REMOTE_EVENT
         inst_id = GET_RANK(inst_id);      /* important */
 #endif
 #if REMOTE_EVENT
         inst_id = GET_RANK(inst_id);      /* important */
 #endif
@@ -2832,7 +2830,7 @@ static void PumpRemoteTransactions(gni_cq_handle_t rx_cqh)
         pump_count ++;
 #endif
 
         pump_count ++;
 #endif
 
-        inst_id = GNI_CQ_GET_INST_ID(ev);
+        inst_id = GNI_CQ_GET_REM_INST_ID(ev);
         index = GET_INDEX(inst_id);
         type = GET_TYPE(inst_id);
         switch (type) {
         index = GET_INDEX(inst_id);
         type = GET_TYPE(inst_id);
         switch (type) {