1
1

-- Change the calling semantics for elan4_alloc_cmdq again

-- Still need to verify the exact version numbers.

This commit was SVN r2302.
Этот коммит содержится в:
Weikuan Yu 2004-08-25 17:11:28 +00:00
родитель db1eb110cc
Коммит cbb53f305d
6 изменённых файлов: 30 добавлений и 41 удалений

Просмотреть файл

@ -17,14 +17,13 @@ AC_DEFUN([MCA_CONFIGURE_STUB],[
if test -n "$with_ptl_elan_qsnet_headers"; then if test -n "$with_ptl_elan_qsnet_headers"; then
EXTRA_CPPFLAGS="-I$with_ptl_elan_qsnet_headers/include/" EXTRA_CPPFLAGS="-I$with_ptl_elan_qsnet_headers/include/"
else else
EXTRA_CPPFLAGS="-I/usr/include/"
AC_MSG_WARN([*** Warning: using default qsnet header path /usr/include]) AC_MSG_WARN([*** Warning: using default qsnet header path /usr/include])
fi fi
# See if we can find a sample kernel header # See if we can find a sample kernel header
CPPFLAGS="$EXTRA_CPPFLAGS $CPPFLAGS " CPPFLAGS="$EXTRA_CPPFLAGS $CPPFLAGS "
AC_CHECK_HEADERS([qsnet/autoconf.h],, AC_CHECK_HEADERS([qsnet/config.h],,
[AC_MSG_ERROR([*** Cannot find qsnet header files, e.g., autoconf.h])]) [AC_MSG_ERROR([*** Cannot find qsnet header files, e.g., config.h])])
# Look for a bunch of libraries; abort if we don't have them # Look for a bunch of libraries; abort if we don't have them
PTL_ELAN_LIBS="$LIBS" PTL_ELAN_LIBS="$LIBS"

Просмотреть файл

@ -442,7 +442,7 @@ mca_ptl_elan_matched (mca_ptl_base_module_t * ptl,
} }
/* Process the fragment */ /* Process the fragment */
#if 0 #if 1
set = fetchNset (&((mca_ptl_elan_recv_frag_t *)frag)->frag_progressed, 1); set = fetchNset (&((mca_ptl_elan_recv_frag_t *)frag)->frag_progressed, 1);
#else #else
set = ompi_atomic_fetch_and_set_int (&((mca_ptl_elan_recv_frag_t *)frag)->frag_progressed, 1); set = ompi_atomic_fetch_and_set_int (&((mca_ptl_elan_recv_frag_t *)frag)->frag_progressed, 1);

Просмотреть файл

@ -388,10 +388,8 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
RESETEVENT_WORD (&rxq->qr_doneWord); RESETEVENT_WORD (&rxq->qr_doneWord);
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1); PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
rxq->qr_cmdq = elan4_alloc_cmdq (ctx, rxq->qr_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size1K, CQ_Size1K,
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_WaitEventEnableBit, NULL); CQ_WaitEventEnableBit, NULL);
@ -426,10 +424,8 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
INPUT_QUEUE_SIZE); INPUT_QUEUE_SIZE);
OMPI_PTL_ELAN_CHECK_UNEX (queue->input, NULL, OMPI_ERROR, 0); OMPI_PTL_ELAN_CHECK_UNEX (queue->input, NULL, OMPI_ERROR, 0);
queue->tx_cmdq = elan4_alloc_cmdq (ctx, queue->tx_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size8K, CQ_Size8K,
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_DmaStartEnableBit | CQ_DmaStartEnableBit |
@ -500,10 +496,8 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
RESETEVENT_WORD (&rxq->qr_doneWord); RESETEVENT_WORD (&rxq->qr_doneWord);
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1); PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
rxq->qr_cmdq = elan4_alloc_cmdq (ctx, rxq->qr_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4) rail->r_alloc,
rail->r_alloc,
#endif
CQ_Size1K, CQ_Size1K,
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_WaitEventEnableBit, NULL); CQ_WaitEventEnableBit, NULL);
@ -558,15 +552,11 @@ ompi_init_elan_putget (mca_ptl_elan_component_t * emp,
OBJ_CONSTRUCT (&putget->pg_lock, ompi_mutex_t); OBJ_CONSTRUCT (&putget->pg_lock, ompi_mutex_t);
cqp = elan4_probe_cmdq(ctx, cqp = elan4_probe_cmdq(ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
0x10, CQ_AutoCtrlFlowOn); 0x10, CQ_AutoCtrlFlowOn);
putget->put_cmdq = elan4_alloc_cmdq(ctx, putget->put_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size8K, CQ_Size8K,
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_DmaStartEnableBit | CQ_DmaStartEnableBit |
@ -574,10 +564,8 @@ ompi_init_elan_putget (mca_ptl_elan_component_t * emp,
CQ_STENEnableBit, cqp); CQ_STENEnableBit, cqp);
OMPI_PTL_ELAN_CHECK_UNEX (putget->put_cmdq, NULL, OMPI_ERROR, 0); OMPI_PTL_ELAN_CHECK_UNEX (putget->put_cmdq, NULL, OMPI_ERROR, 0);
putget->get_cmdq = elan4_alloc_cmdq(ctx, putget->get_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size8K, CQ_Size8K,
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_STENEnableBit | CQ_STENEnableBit |

Просмотреть файл

@ -172,7 +172,9 @@ mca_ptl_elan_send_desc_done (
& MCA_PTL_FLAGS_ACK_MATCHED) & MCA_PTL_FLAGS_ACK_MATCHED)
|| mca_pml_base_send_request_matched(req)) { || mca_pml_base_send_request_matched(req)) {
if(ompi_atomic_fetch_and_set_int (&desc->frag_progressed, 1) == 0) { if(fetchNset(&desc->frag_progressed, 1) == 0)
/*if(ompi_atomic_fetch_and_set_int (&desc->frag_progressed, 1) == 0) */
{
ptl->super.ptl_send_progress(ptl, req, ptl->super.ptl_send_progress(ptl, req,
header->hdr_frag.hdr_frag_length); header->hdr_frag.hdr_frag_length);
} }

Просмотреть файл

@ -285,24 +285,20 @@ ompi_init_elan_sleepdesc (mca_ptl_elan_state_t * ems,
OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdBlk, 0, NULL, 0); OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdBlk, 0, NULL, 0);
/*Allocate a pair of command queues for blocking waits with */ /*Allocate a pair of command queues for blocking waits with */
es->es_cmdq = elan4_alloc_cmdq (rail->r_ctx, es->es_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(rail->r_ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size1K, CQ_Size1K,
CQ_WriteEnableBit | (CQ_WriteEnableBit |
CQ_WaitEventEnableBit, NULL); CQ_WaitEventEnableBit), NULL);
OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdq, NULL, NULL, 0); OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdq, NULL, NULL, 0);
/* This command queue used to fire the IRQ via /* This command queue used to fire the IRQ via
a cmd port copy event */ a cmd port copy event */
es->es_ecmdq = elan4_alloc_cmdq (rail->r_ctx, es->es_ecmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size1K, /* CQ_EnableAllBits, */ CQ_Size1K, /* CQ_EnableAllBits, */
CQ_WriteEnableBit (CQ_WriteEnableBit
| CQ_InterruptEnableBit, | CQ_InterruptEnableBit),
NULL); NULL);
OMPI_PTL_ELAN_CHECK_UNEX (es->es_ecmdq, NULL, NULL, 0); OMPI_PTL_ELAN_CHECK_UNEX (es->es_ecmdq, NULL, NULL, 0);
es->es_next = NULL; es->es_next = NULL;
@ -459,23 +455,19 @@ ompi_mca_ptl_elan_init (mca_ptl_elan_component_t * emp)
memset (priv_estate, 0, sizeof (ELAN_EPRIVSTATE)); memset (priv_estate, 0, sizeof (ELAN_EPRIVSTATE));
/* Allocate a command port for non sten functions etc */ /* Allocate a command port for non sten functions etc */
rail->r_cmdq = elan4_alloc_cmdq (rail->r_ctx, rail->r_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size8K, CQ_Size8K,
CQ_ModifyEnableBit | (CQ_ModifyEnableBit |
CQ_WriteEnableBit | CQ_WriteEnableBit |
CQ_WaitEventEnableBit | CQ_WaitEventEnableBit |
CQ_SetEventEnableBit | CQ_SetEventEnableBit |
CQ_ThreadStartEnableBit, NULL); CQ_ThreadStartEnableBit), NULL);
OMPI_PTL_ELAN_CHECK_UNEX (rail->r_cmdq, NULL, OMPI_ERROR, 0); OMPI_PTL_ELAN_CHECK_UNEX (rail->r_cmdq, NULL, OMPI_ERROR, 0);
/* Allocate a command port for thread rescheduling etc */ /* Allocate a command port for thread rescheduling etc */
rail->r_ecmdq = elan4_alloc_cmdq (rail->r_ctx, rail->r_ecmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
rail->r_alloc, rail->r_alloc,
#endif
CQ_Size8K, CQ_Size8K,
CQ_EnableAllBits, CQ_EnableAllBits,
NULL); NULL);

Просмотреть файл

@ -80,6 +80,14 @@
#define PTL_ELAN_DEBUG_FLAG (PTL_ELAN_DEBUG_MAC|PTL_ELAN_DEBUG_ACK|PTL_ELAN_DEBUG_SEND|PTL_ELAN_DEBUG_PUT) #define PTL_ELAN_DEBUG_FLAG (PTL_ELAN_DEBUG_MAC|PTL_ELAN_DEBUG_ACK|PTL_ELAN_DEBUG_SEND|PTL_ELAN_DEBUG_PUT)
#endif #endif
#if 1 || (QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4))
#define OMPI_PTL_ELAN_ALLOC_CMDQ(ctx, alloc, size, bits, params) \
elan4_alloc_cmdq (ctx, alloc, size, bits, params)
#else
#define OMPI_PTL_ELAN_ALLOC_CMDQ(ctx, alloc, size, bits, params) \
elan4_alloc_cmdq (ctx, size, bits, params)
#endif
#define LOG_PRINT(flag, args...) \ #define LOG_PRINT(flag, args...) \
do { \ do { \
if (PTL_ELAN_DEBUG_FLAG & flag) { \ if (PTL_ELAN_DEBUG_FLAG & flag) { \