加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux如何同步抢占计数

发布时间:2020-12-13 19:51:58 所属栏目:Linux 来源:网络整理
导读:http://lxr.linux.no/linux+v2.6.35/include/linux/preempt.h#L21 我只是想尝试获取linux源代码.我看到了这个抢先计数,linux如何确保抢占计数是原子的?代码只是递增值. 我还有另一个问题.为什么中断句柄需要保持互斥.因为只有一个可以一次执行吗? 此外,当
http://lxr.linux.no/linux+v2.6.35/include/linux/preempt.h#L21

我只是想尝试获取linux源代码.我看到了这个抢先计数,linux如何确保抢占计数是原子的?代码只是递增值.

我还有另一个问题.为什么中断句柄需要保持互斥.因为只有一个可以一次执行吗?

此外,当中断被禁用时,操作系统会做什么?忽略中断或维护队列?

解决方法

它增加preempt_count() – 注意() – 这是一个宏定义为:
#define preempt_count() (current_thread_info()->preempt_count)

所以它增加了一个每线程变量,它不需要任何锁定并且是安全的.

最好将您的多个问题作为单独的问题提出,但简要说明一下:

>中断处理程序通常可以被其他中断处理程序中断;>中断处理程序可以在一个CPU内核上运行,而其他内核代码在另一个内核上运行;>通常使用硬件机制禁用中断.这些往往会记住待处理的中断,但每个中断向量最多只能有一个中断.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读