2

你好,

我有一个驱动程序代码,它应该适用于接口上接收到的某些数据包。驱动程序使用 spin_lock_irqsave 来管理并行此类请求,然后再将其提供给硬件。

要处理数据包,它需要我正在编写的内核模块提供的一些上下文信息。可以使用受 rcu 保护的 hlist 管理多个上下文信息。现在,当数据包到达时,该模块应该使用 rcu_read_lock() 中的数据包签名查找上下文信息,然后将数据包和找到的上下文提供给驱动程序。

现在,我已经读到内核线程/模块不应该在 rcu_read_lock() 中阻塞/休眠,我应该如何管理它。

任何帮助表示赞赏?

4

0 回答 0