X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lnet%2Fklnds%2Fgnilnd%2Fgnilnd_aries.h;h=b36603e61a53aa64e72d492b97282cab6408b540;hb=2b8c4566a6a63cdf09e555a744ce6a1453651b98;hp=50ef0b8d9215a56ddec3fcceb2e60b8823ae2a66;hpb=94ceb39ba458564ea99a8e7194cdb48661edc673;p=fs%2Flustre-release.git diff --git a/lnet/klnds/gnilnd/gnilnd_aries.h b/lnet/klnds/gnilnd/gnilnd_aries.h index 50ef0b8..b36603e 100644 --- a/lnet/klnds/gnilnd/gnilnd_aries.h +++ b/lnet/klnds/gnilnd/gnilnd_aries.h @@ -58,6 +58,38 @@ #define GNILND_KGNI_TS_MINOR_VER 0x45 #define GNILND_TS_ENABLE 1 +/* register some memory to allocate a shared mdd */ +static inline gni_return_t +kgnilnd_register_smdd_buf(kgn_device_t *dev) +{ + __u32 flags = GNI_MEM_READWRITE; + + if (*kgnilnd_tunables.kgn_bte_relaxed_ordering) { + flags |= GNI_MEM_RELAXED_PI_ORDERING; + } + + LIBCFS_ALLOC(dev->gnd_smdd_hold_buf, PAGE_SIZE); + if (!dev->gnd_smdd_hold_buf) { + CERROR("Can't allocate smdd hold buffer\n"); + return GNI_RC_ERROR_RESOURCE; + } + + return kgnilnd_mem_register(dev->gnd_handle, + (__u64)dev->gnd_smdd_hold_buf, + PAGE_SIZE, NULL, flags, + &dev->gnd_smdd_hold_hndl); +} + +static inline gni_return_t +kgnilnd_deregister_smdd_buf(kgn_device_t *dev) +{ + gni_return_t rc = kgnilnd_mem_deregister(dev->gnd_handle, + &dev->gnd_smdd_hold_hndl, 0); + LIBCFS_FREE(dev->gnd_smdd_hold_buf, PAGE_SIZE); + + return rc; +} + /* plug in our functions for use on the simulator */ #if !defined(GNILND_USE_RCA) @@ -81,7 +113,7 @@ kgnilnd_nid_to_nicaddrs(__u32 nid, int numnic, __u32 *nicaddr) } if (nid < kgnilnd_data.kgn_nid_trans_private) { CERROR("Request for invalid nid translation %u," - "minimum "LPU64"\n", + "minimum %llu\n", nid, kgnilnd_data.kgn_nid_trans_private); return -ESRCH; }