小编Mr.*_*eer的帖子

在softirq和流程上下文之间共享数据

我正在开发一个内核模块,它在softirq(netfilter预路由挂钩)和用户上下文(在ioctl调用中)之间共享数据结构.

阅读此链接后,我知道我需要在修改数据时使用用户上下文中的软件中断(使用spin_lock_bh或者spin_lock_irqsave),并在完成对共享数据的操作后重新启用它们.

但是,我不确定是否需要在softirq处理函数中获取锁.我是否也需要在这里抓住锁(使用spin_lock)?

我的理解是,如果与另一个softirq或hardirq共享数据,我只需要在softirq处理程序中使用自旋锁.我的理解是否正确?

c locking netfilter linux-kernel softirq

5
推荐指数
1
解决办法
663
查看次数

标签 统计

c ×1

linux-kernel ×1

locking ×1

netfilter ×1

softirq ×1