我有一个48核心的Linux工作站,并运行ixgbe驱动程序的光纤接口。 我必须testing一个名为Netmap的项目。
NetMap是高速接口的高性能networking框架,最近已经移植到Linux上。 出于某些原因,我必须在机器上试用。
所以我编译它,并按照说明运行testing问题,但它不起作用。
我检查dmesg,它说:
[10399.085736] 794.159015 netmap_set_ringid [486] ringid o4o1 set to all 48 HW RINGS [10399.085742] 794.282011 netmap_obj_malloc [220] netmap_if request size 816 too large
我问了netmap的作者的帮助。 他告诉我,在机器上有太多的内核,如果我告诉ixgbe使用较less的内核(2到4是可以的),它应该工作。
我不熟悉驱动程序的开发,我不知道如何通过将parameter passing给ixgbe驱动程序来限制环的数量。 所以我从intel的网站上查看规范,但没有发现任何信息。 所以我来这里寻求更多的帮助。
谢谢。
让netmap能够处理大量内核的一个快速修复就是将这个改变应用到net / netmap / netmap_mem2.c
-#define NETMAP_IF_MAX_SIZE 256 +#define NETMAP_IF_MAX_SIZE 1024
欢呼luigi里佐