作者carlcarl (carl)
看板LinuxDev
标题[问题] wake_up_interruptible 是否要加lock
时间Mon Apr 29 15:47:39 2013
借一下这个连结的例子
http://bbs.chinaunix.net/forum.php?mod=viewthread&action=printable&tid=784492
{u32 i;
u16 *buff1;
u32 *buff2;
buff2=kmalloc(128,GFP_KERNEL);
wait_event_interruptible(wq,flags!=0);
..............................
}
在中断处理函数中
{
printk("interrupt 5 is working\n");
flags=1;
wake_up_interruptible(&wq);
}
请问在这情况下 flag=1和wake_up_interruptible是否需要用spin lock包起来呢??
--
http://blog.carlcarl.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.184.171
1F:→ mayasky:我觉得不用,flag乱插也只有一个值,WQ空了也不会怎样 04/30 00:26
2F:→ carlcarl:是想说如果在中间的时候 在别的地方刚好把flag设成0 04/30 12:56
3F:→ carlcarl:这样好像会有问题(?) 04/30 12:56
4F:→ mayasky:那这样为何要包着WAKE UP?你需要的似乎是ATOMIC运算而不 05/01 00:10
5F:推 mayasky:不是CRITICAL SECTION 05/01 00:10
6F:→ carlcarl:atomic运算? 可以请问一下譬如哪些吗@@" 05/01 23:01