【发布时间】:2015-11-26 19:15:17
【问题描述】:
当 Linux 上的线程正在旋转并试图获取自旋锁时,该线程是否没有机会被抢占?
编辑:
我只是想确定一些事情。在“UP”系统上,没有中断处理程序会访问这个自旋锁。如果正在旋转并试图获取自旋锁的线程可以被抢占,我认为在这种情况下,自旋锁保护的临界区可以调用sleep,因为持有自旋锁的线程可以重新调度回 CPU。
【问题讨论】:
-
@ChristopherCreutzig:只需更新 OP。
-
@ChristopherCreutzig:我遇到了这个topic,所以想知道如果允许持有自旋锁的线程可以休眠,必须满足哪些条件。所以如果在
UP系统上可以抢占竞争的spinlock线程,那么持有spinlock的线程可以重新调度释放spinlock,竞争的spinlock线程可以获得spinlock。
标签: linux multithreading linux-kernel linux-device-driver