spin_lock最简单用法。

作者:heziq 发布于:2015-4-17 10:13

最近在思考一个spin_lock的用法,比如在smp系统中,在一个内核控制路径的函数中有一个局部静态变量,对这个局部静态变量有判断,算术运算。那么我们是否要对这个局部静态变量使用spin_lock锁呢?

 

个人意见:需要使用,因为在smp系统中,多个内核控制路径可能同时访问该变量。所谓的共享资源,并不只是多个函数之间共享,在smp系统有可能是自己和自己共享。

 

欢迎大家拍砖。

标签: spin_lock使用

评论:

dream
2022-07-23 07:11
我也是这么认为的:有静态变量就意味着函数不可重入,不可重入的函数,只要有可能出现并发调用,都应该加上锁进行保护。
akashequ
2015-04-28 00:16
不能一刀切,如果申请的中断是不可嵌套的,那么上半部里的静态变量应该不用保护;如果下半部使用的是Tasklet,也不用保护。
wowo
2015-04-18 15:44
局部静态变量就是全局变量,如果需要,肯定要保护。
我只是好奇楼主这个变量的用处,楼主是不是可以把代码贴出来瞧瞧?
heziq
2015-04-19 11:01
@wowo:呵呵,没有代码,这是我臆想的,我研究spin-lock和softirq的共享时候想到的,在smp中,只要是静态变量,就要小心共享问题。让您见笑了哈!

发表评论:

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog