/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ /* * Copyright (c) 2013 Mellanox Technologies, Inc. * All rights reserved. * Copyright (c) 2015 Los Alamos National Security, LLC. All rights * reserved. * Copyright (c) 2016 Research Organization for Information Science * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */ /** * @file */ #ifndef MCA_SPML_UD_MXM_H #define MCA_SPML_UD_MXM_H #include "oshmem_config.h" #include "oshmem/request/request.h" #include "oshmem/mca/spml/spml.h" #include "oshmem/util/oshmem_util.h" #include "oshmem/mca/spml/base/spml_base_putreq.h" #include "oshmem/proc/proc.h" #include "oshmem/mca/spml/base/spml_base_request.h" #include "oshmem/mca/spml/base/spml_base_getreq.h" #include "ompi/mca/bml/base/base.h" #include "opal/class/opal_free_list.h" #include "opal/class/opal_list.h" #include "orte/runtime/orte_globals.h" #include "oshmem/mca/memheap/base/base.h" #include #ifndef MXM_VERSION #define MXM_VERSION(major, minor) (((major)<get_mkey_slow); return module->get_mkey_slow(pe, va, ptl_id, rva); } mkey = module->mxm_peers[pe].mkeys; mkey = (spml_ikrit_mkey_t *)map_segment_find_va(&mkey->super.super, sizeof(*mkey), va); if (OPAL_UNLIKELY(NULL == mkey)) { assert(module->get_mkey_slow); return module->get_mkey_slow(pe, va, ptl_id, rva); } *rva = map_segment_va2rva(&mkey->super, va); return &mkey->key; } END_C_DECLS #endif