社区
Linux_Kernel
帖子详情
有关于使用bh等设置中断的问题!请大虾们指教啊!
cfeicose
2006-02-13 11:33:12
一般在设置中断的时候都会设置中断寄存器,
例如 bh 0x778798等,会把这些记录在b0-b7之中.
我想问的是,cpu在每次执行一条指令的时候,
都会去看这个指令的地址是否是设置成中断的地址吗?
要不然它在执行一条指令的时候,它怎么知道这条指令的地址是我们用bh设置的中断的地址呢?
...全文
73
回复
打赏
收藏
有关于使用bh等设置中断的问题!请大虾们指教啊!
一般在设置中断的时候都会设置中断寄存器, 例如 bh 0x778798等,会把这些记录在b0-b7之中. 我想问的是,cpu在每次执行一条指令的时候, 都会去看这个指令的地址是否是设置成中断的地址吗? 要不然它在执行一条指令的时候,它怎么知道这条指令的地址是我们用bh设置的中断的地址呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
linux内核 自旋锁+
中断
spin_lock_
bh
/spin_unlock_
bh
spin_lock_
bh
通常用在进程中,用来禁止抢断和禁止软
中断
。 spin_lock_
bh
()中首先会调用local_
bh
_disable()禁止当前CPU的软件
中断
。而函数spin_unlock_
bh
()则调用local_
bh
_enable()来势能本地CPU的软件
中断
。在软件
中断
被禁止的时候,本地CPU的所有软
中断
都不会被执行。 如果一个softirq 与 用户上下文共享数据,就有两个
问题
:首先,当前的用户上下文可能被softirq
中断
;其次,临界区可能会在别的CPU进入。这时spin_lock_
spin_lock_
bh
使用
spin_lock_
bh
作用: 1.保护临界区 2.禁止抢占 3.禁止软
中断
在软中执行函数_do_softirq()中已经
使用
__local_
bh
_disable_ip(_RET_IP_, SOFTIRQ_OFFSET)来禁止软
中断
了,所以CPU上执行软
中断
是串行执行的。 软
中断
的执行: 1.irq_exit()退出时可能会执行softirq 2.softirq的内核线程 spin_lock_
bh
()主要用于保护其他进程上下文访问软
中断
函数共享的变量。 软
中断
和进程B共享
spin_lock_
bh
()与spin_unlock_
bh
()
spin_lock_
bh
通常用在进程中,用来禁止抢断和禁止软
中断
。
spin_lock_
bh
()中首先会调用local_
bh
_disable()禁止当前CPU的软件
中断
。而函数spin_unlock_
bh
()则调用local_
bh
_enable()来势能本地CPU的软件
中断
。在软件
中断
被禁止的时候,本地CPU的所有软
中断
都不会被执行。
如果一个softirq 与 用户上下文共享数据,就有两个
问题
:首先,当前的用户上下文可能被softirq
中断
;其次
Linux(内核剖析):27---
中断
下半部之(下半部机制的选择、在下半部之间加锁、禁止下半部(local_
bh
_disable、local_
bh
_enable))
一、下半部机制的选择 在各种不同的下半部实现机制之间做出选择是很重要的。在当前的2.6版内核中,有三种可能的选择:软
中断
、tasklet和工作队列。tasklet基于软
中断
实现,所以两者很相近。工作队列机 制与它们完全不同,它靠内核线程实现 从设计的角度考虑,软
中断
提供的执行序列化的保障最少。这就要求软
中断
处理函数必须格 外小心地采取...
Linux(内核剖析):25---
中断
下半部之(tasklet机制(struct tasklet_struct)、
BH
机制)
一、tasklet概述 tasklet是利用软
中断
实现的一种下半部机制。我们之前提到过,它和进程没有任何关系。tasklet和软
中断
在本质上很相似,行为表现也相近,但是,它的接口更简单,锁保护也要求较低 选择到底是用软
中断
还tasklet其实很简单:通常你应该用tasklet。就像我们在前面看到的,软
中断
的
使用
者屈指可数。它只在那些执行频率很高和连续性要求很高的情况下才需要
使用
。而taskle...
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章