我正在将app/PCI驱动程序从vxWorks移植到Linux,并且如果可能的话,我希望保持相同的体系结构。当前的驱动程序有2个任务(线程),它们使用消息队列相互通信。是否存在在内核线程之间进行通信的机制?消息队列用于传递缓冲区地址和大小信息,因此任务可以使用DMA移动大量数据。
最佳答案
我强烈建议不要在Linux上保留VxWorks架构。内核线程泛滥是令人讨厌的,您的代码将永远不会进入官方内核树。即使您不在乎,您是否100%确定要以非标准方式开发驱动程序?如果您只需摆脱这两个任务,事情就会简单得多。顺便说一句,为什么到底需要PCI驱动程序的任务?
关于multithreading - 在Linux中的内核线程之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442270/