ibv_get_device_list()函数

struct ibv_device** ibv_get_device_list(int *num_devices);

 描述

函数用来返回一个当前可用的RDMA设备数组。

注意

  • 数组以NULL结尾;
  • RDMA设备数组可以经由ibv_free_device_list()函数释放。

 

参数(int * num_devices)

  • int 指针类型
  • 若返回结果不为NULL,参数指向的值为返回数组中可用RDMA设备数

 

返回值(struct ibv_device**)

  • 返回成功时:ibv_device指向可用的RDMA设备数组,num_devices设置为对应的设备数
  • 返回失败时:ibv_device指向NULL,如果请求失败,设置errno值

  可能的errno值有:

  • EPERM:权限拒绝
  • ENOMEM:内存不足以完成操作
  • ENOSYS:没有内核支持RDMA

 

例子

1、不带参数的获取设备列表

struct ibv_device **dev_list;
 
dev_list = ibv_get_device_list(NULL);
if (!dev_list)
        exit(1);

 

 

2、带参数的获取设备列表

struct ibv_device **dev_list;
int num_devices;
 
dev_list = ibv_get_device_list(&num_devices);
if (!dev_list)
        exit(1);

 

 

FAQs

1、调用ibv_get_device_list()函数,它返回NULL,意味着什么?

答:这是一个基础的verb,一般不会失败,可以检查一下 ib_uverbs 模块是否被加载

 

2、调用ibv_get_device_list()函数,返回空的list,意味着什么?

答:驱动没有找到任何的RDMA设备

  • 如果你的机器存在RDMA设备,可以用lspci检查
  • 使用 lsmod 检查支持RDMA设备的底层驱动模块是否加载
  • 使用 dmesg /var/log/message 检查是否有报错

 

参考链接:http://www.rdmamojo.com/2012/05/31/ibv_get_device_list/

转载于:https://www.cnblogs.com/coderex2522/p/8033950.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值