用户和内核之间的大数据流

时间:2011-10-07 13:01:02

标签: linux linux-kernel linux-device-driver

在用户级和内核级之间建立双向数据流的最佳方式(性能)是什么?

据我所知,您可以打开NETLINK套接字并通过那里传输数据。但是,我们必须采用其他一些用户 - 内核交互(系统调用,ioctl)来发送控制信息。这是跨用户内核边界传输大量数据的最有效方法吗?

1 个答案:

答案 0 :(得分:4)

将大型数据缓冲区传递到内核驱动程序/线程/无论什么都没有问题 - 内核有权读取它,没问题。对于返回的东西,通常的方法是为内核提供足够大的用户空间缓冲区或缓冲池,以便它返回数据。这就是它为通常的东西做的 - 文件/网络读/写,示例

问题是什么,更确切地说 - 您是否需要在不同的计算机上将数据传输到内核级别/从内核级别传输数据?

RGDS, 马丁