您好,
我有一个驱动程序代码,它应该对接口上收到的某些数据包起作用。驱动程序使用spin_lock_irqsave来管理并行的此类请求,然后再将其提供给硬件。
要处理数据包,它需要我正在编写的内核模块提供的一些上下文信息。可以使用受rcu保护的hlist管理多个上下文信息。现在,当数据包到达时,此模块应使用rcu_read_lock()内的数据包签名查找上下文信息,然后将数据包和找到的上下文提供给驱动程序。
现在,我已经读过内核线程/模块不应该在rcu_read_lock()中阻塞/睡眠,我应该如何管理它。
感谢任何帮助?