static ucs_status_t uct_ib_pd_query(uct_pd_h uct_pd, uct_pd_attr_t *pd_attr) { uct_ib_pd_t *pd = ucs_derived_of(uct_pd, uct_ib_pd_t); pd_attr->cap.max_alloc = ULONG_MAX; /* TODO query device */ pd_attr->cap.max_reg = ULONG_MAX; /* TODO query device */ pd_attr->cap.flags = UCT_PD_FLAG_REG; pd_attr->rkey_packed_size = sizeof(uint32_t); if (IBV_EXP_HAVE_CONTIG_PAGES(&pd->dev.dev_attr)) { pd_attr->cap.flags |= UCT_PD_FLAG_ALLOC; } pd_attr->local_cpus = pd->dev.local_cpus; return UCS_OK; }
static ucs_status_t uct_ib_md_query(uct_md_h uct_md, uct_md_attr_t *md_attr) { uct_ib_md_t *md = ucs_derived_of(uct_md, uct_ib_md_t); md_attr->cap.max_alloc = ULONG_MAX; /* TODO query device */ md_attr->cap.max_reg = ULONG_MAX; /* TODO query device */ md_attr->cap.flags = UCT_MD_FLAG_REG; md_attr->rkey_packed_size = sizeof(uint64_t); if (IBV_EXP_HAVE_CONTIG_PAGES(&md->dev.dev_attr)) { md_attr->cap.flags |= UCT_MD_FLAG_ALLOC; } md_attr->reg_cost = md->reg_cost; md_attr->local_cpus = md->dev.local_cpus; return UCS_OK; }