标签: linux-kernel
klist.h中描述的链表包装器是否为读取和写入提供了对其节点的线程安全访问?
答案 0 :(得分:1)
我认为通过“阅读和写作”你实际上意味着“交互和添加/删除”(我们正在讨论列表,对吧?)。
从这个意义上讲,它们是线程安全的:您不必对它们执行手动锁定,因为lib/klist.c中定义的函数使用klist结构的内部自旋锁。
lib/klist.c
不如果是中断或下半部上下文,请使用这些功能,因为在其中完成的锁定是 不 spin_lock_irqsave()或spin_lock_bh()。
spin_lock_irqsave()
spin_lock_bh()