-- Change the calling semantics for elan4_alloc_cmdq again
-- Still need to verify the exact version numbers. This commit was SVN r2302.
Этот коммит содержится в:
родитель
db1eb110cc
Коммит
cbb53f305d
@ -17,14 +17,13 @@ AC_DEFUN([MCA_CONFIGURE_STUB],[
|
||||
if test -n "$with_ptl_elan_qsnet_headers"; then
|
||||
EXTRA_CPPFLAGS="-I$with_ptl_elan_qsnet_headers/include/"
|
||||
else
|
||||
EXTRA_CPPFLAGS="-I/usr/include/"
|
||||
AC_MSG_WARN([*** Warning: using default qsnet header path /usr/include])
|
||||
fi
|
||||
|
||||
# See if we can find a sample kernel header
|
||||
CPPFLAGS="$EXTRA_CPPFLAGS $CPPFLAGS "
|
||||
AC_CHECK_HEADERS([qsnet/autoconf.h],,
|
||||
[AC_MSG_ERROR([*** Cannot find qsnet header files, e.g., autoconf.h])])
|
||||
AC_CHECK_HEADERS([qsnet/config.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
|
||||
PTL_ELAN_LIBS="$LIBS"
|
||||
|
@ -442,7 +442,7 @@ mca_ptl_elan_matched (mca_ptl_base_module_t * ptl,
|
||||
}
|
||||
|
||||
/* Process the fragment */
|
||||
#if 0
|
||||
#if 1
|
||||
set = fetchNset (&((mca_ptl_elan_recv_frag_t *)frag)->frag_progressed, 1);
|
||||
#else
|
||||
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);
|
||||
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
|
||||
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rxq->qr_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit, NULL);
|
||||
@ -426,10 +424,8 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
|
||||
INPUT_QUEUE_SIZE);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (queue->input, NULL, OMPI_ERROR, 0);
|
||||
|
||||
queue->tx_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
queue->tx_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_DmaStartEnableBit |
|
||||
@ -500,10 +496,8 @@ ompi_init_elan_qdma (mca_ptl_elan_component_t * emp,
|
||||
RESETEVENT_WORD (&rxq->qr_doneWord);
|
||||
PRIMEEVENT_WORD (ctx, (EVENT *) rxq->qr_elanDone, 1);
|
||||
|
||||
rxq->qr_cmdq = elan4_alloc_cmdq (ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
rxq->qr_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (ctx,
|
||||
rail->r_alloc,
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
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);
|
||||
|
||||
cqp = elan4_probe_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
0x10, CQ_AutoCtrlFlowOn);
|
||||
|
||||
putget->put_cmdq = elan4_alloc_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
putget->put_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_DmaStartEnableBit |
|
||||
@ -574,10 +564,8 @@ ompi_init_elan_putget (mca_ptl_elan_component_t * emp,
|
||||
CQ_STENEnableBit, cqp);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (putget->put_cmdq, NULL, OMPI_ERROR, 0);
|
||||
|
||||
putget->get_cmdq = elan4_alloc_cmdq(ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
putget->get_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_STENEnableBit |
|
||||
|
@ -172,7 +172,9 @@ mca_ptl_elan_send_desc_done (
|
||||
& MCA_PTL_FLAGS_ACK_MATCHED)
|
||||
|| 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,
|
||||
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);
|
||||
|
||||
/*Allocate a pair of command queues for blocking waits with */
|
||||
es->es_cmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
es->es_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ(rail->r_ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K,
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit, NULL);
|
||||
(CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit), NULL);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (es->es_cmdq, NULL, NULL, 0);
|
||||
|
||||
/* This command queue used to fire the IRQ via
|
||||
a cmd port copy event */
|
||||
es->es_ecmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
es->es_ecmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size1K, /* CQ_EnableAllBits, */
|
||||
CQ_WriteEnableBit
|
||||
| CQ_InterruptEnableBit,
|
||||
(CQ_WriteEnableBit
|
||||
| CQ_InterruptEnableBit),
|
||||
NULL);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (es->es_ecmdq, NULL, NULL, 0);
|
||||
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));
|
||||
|
||||
/* Allocate a command port for non sten functions etc */
|
||||
rail->r_cmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_cmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_ModifyEnableBit |
|
||||
(CQ_ModifyEnableBit |
|
||||
CQ_WriteEnableBit |
|
||||
CQ_WaitEventEnableBit |
|
||||
CQ_SetEventEnableBit |
|
||||
CQ_ThreadStartEnableBit, NULL);
|
||||
CQ_ThreadStartEnableBit), NULL);
|
||||
OMPI_PTL_ELAN_CHECK_UNEX (rail->r_cmdq, NULL, OMPI_ERROR, 0);
|
||||
|
||||
/* Allocate a command port for thread rescheduling etc */
|
||||
rail->r_ecmdq = elan4_alloc_cmdq (rail->r_ctx,
|
||||
#if QSNETLIBS_VERSION_CODE <= QSNETLIBS_VERSION(1,6,4)
|
||||
rail->r_ecmdq = OMPI_PTL_ELAN_ALLOC_CMDQ (rail->r_ctx,
|
||||
rail->r_alloc,
|
||||
#endif
|
||||
CQ_Size8K,
|
||||
CQ_EnableAllBits,
|
||||
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)
|
||||
#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...) \
|
||||
do { \
|
||||
if (PTL_ELAN_DEBUG_FLAG & flag) { \
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user