小编ker*_*der的帖子

在内核中高效分配内存

我想编写一个内核模块,在那里我获得接近 8 mbps 的 TCP/IP 数据包。我必须将这些数据包存储 500 毫秒的持续时间。稍后这些数据包应按顺序转发。这些应该为 30 名成员完成。什么应该是最好的实施方法?我应该使用kmalloc一次(kmalloc(64000000, GFP_ATOMIC)吗?因为每次如果我这样做kmallockfree都需要时间,从而导致性能问题。另外,如果我一次性在内核中分配内存,Linux 内核会允许我这样做吗?

c linux-kernel

4
推荐指数
1
解决办法
2153
查看次数

BUG:从 mm/slub.c:1719 处的无效上下文调用睡眠函数

我已经分配了一个指针

int *ptr = kmalloc(sizeof(int), GFP_ATOMIC); 
Run Code Online (Sandbox Code Playgroud)

并且该指针在具有 5 秒超时值的计时器函数中被释放。

if( NULL != ptr )                
{                 
  kfree(ptr);
  ptr = NULL;
}
Run Code Online (Sandbox Code Playgroud)

请告诉我这里有什么问题.. 提前致谢。

c linux-kernel

0
推荐指数
1
解决办法
5628
查看次数

标签 统计

c ×2

linux-kernel ×2