gpt4 book ai didi

c - 进程上下文和定时器函数之间的同步

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:35 37 4
gpt4 key购买 nike

我想在进程上下文(具体来说是在 queuecommand 函数中)和计时器函数中自动更新数据结构。在进程上下文中,我应该使用 spin_lock_bhspin_lock_irq 还是仅使用 spin_lock

根据我的理解,我们应该在queuecommand(进程上下文)中使用spin_lock_bh,而在定​​时器函数中只使用spin_lock。我说得对吗?

最佳答案

如果我没理解错的话,大概是timer_list (bottom half context)。那么您的假设是正确的:是的,在进程上下文中使用 spin_lock_bhspin_lock 就足够了 在计时器处理程序中(timer_list函数)。但只有如果那个锁(和相应的数据结构) 仅在提到的上下文中使用 是没有使用它中断处理程序。如果是这样,你需要例如自旋锁中断

另请记住,您不应在 spin_lock*-spin_unlock* 中使用可休眠函数。

Linux内核源码中有很多示例,例如:

关于c - 进程上下文和定时器函数之间的同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52934695/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com