spin_lock自旋锁的时间片轮转
很关键的内核问题
被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待。
1 那么此内核线程的时间片用完之后,自旋锁是会让出cpu,还是一直自旋等待锁的释放???
2 还有在中断处理程序执行的过程中,中断处理程序是否分配有时间片??? 假如有,内核是处于中断上下文中,中断处理程序让出CPU后又怎么会被再次调度呢????
被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待。
1 那么此内核线程的时间片用完之后,自旋锁是会让出cpu,还是一直自旋等待锁的释放???
2 还有在中断处理程序执行的过程中,中断处理程序是否分配有时间片??? 假如有,内核是处于中断上下文中,中断处理程序让出CPU后又怎么会被再次调度呢????
作者: againyuan 发布时间: 2011-03-10
QUOTE:
很关键的内核问题
被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待 ...
againyuan 发表于 2011-03-10 10:55
被保护的资源已经持有自旋锁,那么新的内核线程再度访问保护的资源的时候,会自旋等待 ...
againyuan 发表于 2011-03-10 10:55
通常自选锁很快就会主动释放,如果刚好时间片到了,也接着让它运行,因为禁止抢占了,不会产生进程切换
中断上下文的时间算占用当前进程的
作者: flw2 发布时间: 2011-03-10
QUOTE:
通常自选锁很快就会主动释放,如果刚好时间片到了,也接着让它运行,因为禁止抢占了,不会产生进程切 ...
flw2 发表于 2011-03-10 11:35
flw2 发表于 2011-03-10 11:35
抢占禁止了,但是时间片的轮转依然存在。抢占只是时间片未超时的切入。
所以假设自旋锁就是不释放,那么这个锁能强占cpu吗???
作者: againyuan 发布时间: 2011-03-10