spin_lock自旋锁的时间片轮转

很关键的内核问题

被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待。
1 那么此内核线程的时间片用完之后,自旋锁是会让出cpu,还是一直自旋等待锁的释放???

2 还有在中断处理程序执行的过程中,中断处理程序是否分配有时间片??? 假如有,内核是处于中断上下文中,中断处理程序让出CPU后又怎么会被再次调度呢????

作者: againyuan   发布时间: 2011-03-10



QUOTE:
很关键的内核问题

被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待 ...
againyuan 发表于 2011-03-10 10:55




通常自选锁很快就会主动释放,如果刚好时间片到了,也接着让它运行,因为禁止抢占了,不会产生进程切换


中断上下文的时间算占用当前进程的

作者: flw2   发布时间: 2011-03-10



QUOTE:
通常自选锁很快就会主动释放,如果刚好时间片到了,也接着让它运行,因为禁止抢占了,不会产生进程切 ...
flw2 发表于 2011-03-10 11:35




抢占禁止了,但是时间片的轮转依然存在。抢占只是时间片未超时的切入。
所以假设自旋锁就是不释放,那么这个锁能强占cpu吗???

作者: againyuan   发布时间: 2011-03-10