[development][dpdk] dpdk与CONFIG_RTE_MAX_MEMSEG有关的错误

 

dpdk程序无法启动, 错误如下:

EAL: Requesting 2106 pages of size 2MB from socket 0
EAL: Requesting 1990 pages of size 2MB from socket 1
EAL: Can only reserve 2701 pages from 4096 requested
Current CONFIG_RTE_MAX_MEMSEG=256 is not enough
Please either increase it or request less amount of memory.
PANIC in rte_eal_init():
Cannot init memory
6: [./KingKong() [0x42fd09]]
5: [/lib64/libc.so.6(__libc_start_main+0xfd) [0x38dca1ed5d]]
4: [./KingKong(main+0x26) [0x42ff36]]
3: [./KingKong(rte_eal_init+0x1025) [0x4a9ef5]]
2: [./KingKong(__rte_panic+0xc0) [0x4297c0]]
1: [./KingKong(rte_dump_stack+0x23) [0x4aecf3]]
Aborted

 

因为内存的碎片化比较严重,或内存占用比较多. 重启后可以正常启动.

http://dpdk.org/ml/archives/dev/2015-March/015079.html

 

转载于:https://www.cnblogs.com/hugetong/p/7656358.html

`rte_hash_create`是DPDK (Data Plane Development Kit) 提供的一个函数,用于在用户空间内快速实现高效的哈希表。它允许开发者直接操作网络数据包的数据字段,提高网络应用的性能,尤其是在高性能网络设备和交换机上。 使用`rte_hash_create`的主要步骤包括以下几个关键部分: 1. **初始化**: 包括包含`rte_hash`结构体的实例化,并配置相关的选项,如哈希算法、查找模式(单播或多播)、最大条目数等。 ```c rte_hash_conf hash_conf; memset(&hash_conf, 0, sizeof(hash_conf)); hash_conf.key_size = key_length; // 键的长度 hash_conf.entry_size = entry_size; // 条目的总大小 hash_conf.socket_id = rte_socket_id(); // 使用当前socket ret = rte_hash_create(name, &hash_conf); ``` 2. **设置哈希函数**: 通过`rte_hash_add_function()`函数指定具体的哈希函数,例如使用线性探测哈希或MurmurHash。 3. **添加条目**: 使用`rte_hash_insert_entry()`将键值对添加到哈希表中。如果哈希冲突,可以有多种处理策略,比如使用开放寻址法或者链地址法。 ```c rte_hash_key_t key = { .data = key_data }; // 哈希键 void *value = ...; // 哈希值 ret = rte_hash_insert_entry(hash, &key, value); ``` 4. **查找与删除**: 可以使用`rte_hash_find_entry()`查询特定键对应的值,或`rte_hash_remove_entry()`移除条目。 5. **销毁哈希表**: 在不再使用时,记得通过`rte_hash_free()`释放资源。 **相关问题--**: 1. `rte_hash_create`支持哪些常见的哈希函数? 2. 怎样在`rte_hash_create`中配置查找模式? 3. 如何在`rte_hash`中处理键冲突?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值