Example #1
0
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;
}
Example #2
0
File: ib_md.c Project: alinask/ucx
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;
}