我们需要将数据从一个(USB)串行设备多路复用到多个独立的串行设备。
我发现的是模块fanout,它解决了我的问题的多路复用部分。
现在我正在寻找一种简单的、可能随时可用的方法,将数据从串行 USB 设备直接复制到内核空间中的扇出设备。
当然,我可以简单地cat x > y
在用户空间中进行,但在内核空间中执行此操作可能更有效。
我们需要将数据从一个(USB)串行设备多路复用到多个独立的串行设备。
我发现的是模块fanout,它解决了我的问题的多路复用部分。
现在我正在寻找一种简单的、可能随时可用的方法,将数据从串行 USB 设备直接复制到内核空间中的扇出设备。
当然,我可以简单地cat x > y
在用户空间中进行,但在内核空间中执行此操作可能更有效。
您可以使用使用socketpair创建的匿名 Unix Domain Socket。满足您的所有条件(并且速度很快)。
如果你有一个管道,试试splice_pipe_to_pipe
或link_pipe
。
(顺便说一句,新的tee
系统调用可以替换扇出模块。它已经内置了!)