内核数据结构klist提供线程安全访问吗?



klist.h中描述的链表包装器是否提供对其节点的线程安全访问以进行读和写?

我认为您所说的"读写"实际上是指"交互和添加/删除"(我们谈论的是列表,对吗?)

在这个意义上,它们是线程安全的:你不需要对它们执行手动锁定,因为在lib/klist.c中定义的函数使用了klist结构的内部自旋锁。

使用这些函数,如果中断或下半上下文,因为在它们内部完成的锁定是而不是 spin_lock_irqsave()spin_lock_bh()

最新更新