1

我正在将一个应用程序/PCI 驱动程序从 vxWorks 移植到 Linux,如果可能的话,我希望保持相同的架构。当前驱动程序有 2 个使用消息队列相互通信的任务(线程)。是否有机制在内核线程之间进行通信?消息队列用于传递缓冲区地址和大小信息,因此任务可以使用 DMA 移动大量数据。

4

2 回答 2

2

听起来workqueue界面可能是您所追求的 - 或者对于更轻量级的东西,kfifo结合rwsem信号量。

于 2009-09-18T07:20:18.157 回答
1

我强烈建议不要在 Linux 上保留 VxWorks 架构。内核线程扩散是不受欢迎的,你的代码永远不会进入官方内核树。即使您不关心这些,您是否 100% 确定要以非标准方式开发驱动程序?如果您摆脱这两个任务,事情会简单得多。顺便说一句,你到底为什么需要 PCI 驱动程序的任务?

于 2009-10-19T08:31:44.657 回答